내 사용자는 프로필 사진을 하나씩 업로드 할 수 있지만 원하는만큼 자주 업로드 할 수 있습니다. 파일명 내 자동 증가 숫자
이 코드 내에 저장됩니다,의 사용자 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