2015-07-14 4 views
-2

Я бы хотел переименовать изображение при его загрузке.Переименовать изображение при загрузке

URL-адрес страницы загрузки является upload.php? ClientId = 123456, и я хотел бы сохранить изображение как 123456.jpg

Вот мой код загрузки

if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { 
    echo "The file ". basename($_FILES["fileToUpload"]["name"]). " has been uploaded."; 
} else { 
    echo "Sorry, there was an error uploading your file."; 
} 

возможно ли это?

(Новичок)

+0

Переименование должно происходить как часть пути к окончательному местоположению в 'move_uploaded_file' –

+0

Хорошо, спасибо. Как мне это сделать? Извините, новичок здесь – Shane

+0

@ user3092953: Вы можете назвать файл любым желаемым, установив переменную '$ target_file' в то, что вы хотите назвать. (Или, используя другое значение на своем месте.) – David

ответ

0

Вы уже сохраните файл:

move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file) 

Только первый набор $target_file все, что вы хотите имя файла.

$target_file = "/some/path/to/a/file.jpg"; 

или

$target_file = "/some/path/with/a/$variable.jpg"; 

move_uploaded_file() функция будет экономить (или по крайней мере попытаться) файл как то, что вы называете его во втором параметре функции. Поэтому просто укажите имя, которое вы хотите, чтобы файл имел.

+0

спасибо, однако, загрузка завершилась неудачно, когда у меня есть ... '.php? ClientID = XXXX' в конце моего URL-адреса? любые идеи – Shane

+0

@ user3092953: Какой URL? Как URL-адрес используется для имени файла? Как неудача загрузки? Весь этот фрагмент URL-адреса предоставляет пару ключей/значений строки запроса. Это не мешает загрузке файла. – David

+0

страница 'upload.php' отлично работает, если я добавляю? ClientID в конце, это не удается? – Shane

0

Путь назначения должен был бы быть изменен, чтобы использовать новое имя файла. Предполагая, что вы хотите сохранить файл в temp/, окончательный вызов может выглядеть следующим образом:

move_uploaded_file($_FILES['control_name']['tmp_name'], 'temp/12345.jpg') 
+0

Я пробовал это, но просто вижу ошибку «Извините, произошла ошибка при загрузке вашего файла» – Shane

+0

Удостоверьтесь, что у php есть доступ на запись к финальному каталогу (может быть, установка chmod). –

0
$images_dir = '/www/images/walls/'; 
$new_file_name = 'WinterIsComing.jpg'; 

$target_file = $images_dir . $new_file_name; 
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { 
    echo "The file ". basename($_FILES["fileToUpload"]["name"]). " has been uploaded."; 
} else { 
    echo "Sorry, there was an error uploading your file."; 
} 
Смежные вопросы