Мои пользователи могут загружать фотографии профиля один за другим, но так часто, как они хотят.auto increment number in filename
Давайте предположим, что пользователь 1 загружает изображение, этот код будет хранить его в мои добавления папка:
<?php
$fileData = pathinfo(basename($_FILES["fileToUpload"]["name"]));
$fileName = 'user_id_#1#_profilepic_#' . uniqid() . '#.' . $fileData['extension'];
$target_path = "uploads/" . $fileName;
while(file_exists($target_path)) {
$fileName = 'user_id_#1#_profilepic_#' . uniqid() . '#.' . $fileData['extension'];
$target_path = ($_SERVER['DOCUMENT_ROOT'] . "uploads/" . $fileName);
}
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_path)) {
echo "The image was successfully uploaded. <a href='index.php'>Add another image</a>";
}
else {
echo "There was an error uploading the file, please try again!";
}
?>
Это uniqid() должен быть заменен, потому что это кошмар, чтобы найти изображения позже в правильный порядок.
Я хочу изображения - после загрузки - выглядеть следующим образом:
user_id_#1#_profilepic_#1#.jpg
user_id_#1#_profilepic_#2#.jpg
user_id_#1#_profilepic_#3#.png
user_id_#1#_profilepic_#4#.gif
user_id_#1#_profilepic_#5#.jpg
and so on...
Как я могу это сделать? Пока у меня нет никаких идей.
Почему бы не использовать что-то вроде метки времени? '$ fileName = 'user_id_ # 1 # _profilepic_ #'. время(). '#'. , $ fileData ['extension']; ' – AbraCadaver
, потому что я не знал об этой опции в первую очередь, но теперь мне интересно, как я мог бы прочитать это имя, когда я хочу отображать разные картинки? Если у меня есть номер автоинкремента в моем имени файла, я могу только начать с самых высоких чисел и перейти к более низким номерам при нажатии. Но если есть время, связанное с именем файла, это не сработает, верно? – Maxischl
'$ users_files = glob ('user_id_ # 1 # _profilepic _ # *. *');' – AbraCadaver