Загрузка фотографий с iPhone перезаписывает друг друга в галерее

У меня есть галерея изображений, где пользователи будут загружать изображения со своих телефонов в базу данных, которая затем вызывается на моей странице галереи. Каждая запись имеет идентификатор, изображение и описание в БД.

Это код, который экспортирует галерею:

    //include database connection
include 'mysqlconnect.php';

$sql="select * from images order by image desc";
$query=mysql_query($sql);
while($row=mysql_fetch_array($query))
{
$image=$row ['image'];
$description=$row ['description'];

//call all images from DB
echo '<a href="'.$image.'" title="'.$description.'" style="background-image:url('.$image.');"></a>';
}

Проблема в том, когда пользователь загружает фотографии с iPhone. Поскольку айфоны всегда сохраняют свои изображения как «image.jpg», при каждой загрузке они перезаписывают предыдущие изображения iPhone в галерее. Я думаю, что это потому, что галерея требует только имена файлов.

Есть ли способ вызвать изображения на основе их идентификатора строки? Что-то вроде $image=$row['id','image']; ?

0

Решение

Во-первых, если загружается одно и то же имя изображения, и вы не предусмотрели его переименование или использовали отличительную папку, чтобы использовать их как уникальные, то это проблема прямо сейчас.

Если вы хотите просмотреть фотографию на основе идентификатора, используйте ее в своем запросе.

т.е .:

$sql="select * from images WHERE id='some_id' order by image desc";

«Есть ли способ вызвать изображения на основе их идентификатора строки? Что-то вроде $ image = $ row [‘id’, ‘image’];?»

Нет, это неверный синтаксис:

$image=$row['id','image'];

Вам нужно будет использовать два отдельных $row(s),

т.е .:

$id = $row['id'];
$image=$row['image'];

Sidenote: Вам может даже не понадобиться WHERE пункт, и просто используйте $row['id'],

Однако, если вы настроены на отображение изображений только для определенного пользователя, тогда да; использовать WHERE предложение и даже использование сессий на основе их имени пользователя сеанса.

Переименовать загруженные файлы:

Посмотрите, как использовать уникальное имя при загрузке:

Вы также используете устаревшую библиотеку MySQL. Лучше всего вы перейдете к любому mysqli_ или PDO, так как он будет удален из будущих версий PHP.

Рекомендации:

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]