Загруженная картинка в TMP без расширения файла? - PullRequest
2 голосов
/ 14 января 2011

Пожалуйста,

После загрузки изображения файл все еще находится в папке TMP, и когда я повторяю:

$_FILES['file']['tmp_name']

Я получаю, например:

/tmp/phpZnmIfT

Итак, загруженная картинка без расширения ?!Это "нормально" или отсутствует какая-либо конфигурация Php GD?

Заранее спасибо

Ответы [ 4 ]

4 голосов
/ 14 января 2011

PHP хранит файл, используя временное имя, которое вы видите. В конце концов, два или более человека могут загрузить один и тот же файл «file.doc», и если PHP использует это имя для хранения его на сервере, один перезапишет другое.

Вы можете получить исходное имя файла на стороне клиента с помощью $_FILE['file']['name']. Полная информация о структуре массива $ _FILE: здесь .

3 голосов
/ 14 января 2011

Файлы загружаются во временный каталог с уникальным (и временным) именем.

Вы должны переместить файл в конечное местоположение и присвоить ему соответствующее имя, используя move_uploaded_file () .

Первый пример использования - это то, что вы хотите.

0 голосов
/ 14 января 2011

Да, это нормально. Тип файла (MIME-тип) хранится в $_FILES['userfile']['type']

0 голосов
/ 14 января 2011

Если вы изучите оставшуюся часть массива $_FILES для загрузки, вы получите исходное имя загрузки, а также mime-тип загруженного файла, который можно использовать для выполнения дальнейших действий спост-загрузка файла (например, переместите / переименуйте его, используя move_uploaded_file(), как предлагает предыдущий автор).

...