2016-05-03 11 views
0

Привет, я попытался выполнить поиск в Интернете, но на самом деле не смог найти его. Какая разница между $_FILES['file']['name'] и $_FILES['file']['tmp_name'], или что такое $_FILES['file']['tmp_name'] точно?В чем разница между именем и tmp_name

Согласно http://php.net/manual/en/features.file-upload.post-method.php,

$ _FILES [ 'UserFile'] [ 'имя'] Оригинальное имя файла на клиентской машине .

$ _FILES ['userfile'] ['tmp_name'] Временное имя файла в , которое загруженный файл хранился на сервере.

В чем разница между временным именем файла и оригинальным именем файла?

Спасибо

+0

временный файл автоматически удаляется при успешной загрузке. Исходное имя. хорошо ... сохраняет имя загруженного файла. Это все в руководстве http://php.net/manual/en/features.file-upload.post-method.php. * «Файл будет удален из временного каталога в конце запроса, если он не был удален или переименован."* –

+0

^Возможно, вам нужно добавить, что имя tmp_m где хранится файл перед использованием move_uploaded_file() – Devon

+0

@Devon Мне не нужно указывать« полное »руководство ;-) Он не поместится здесь * lol * –

ответ

1

Ваш файл будет временно хранить на этом пути $ _FILES [ 'image_path'] [ 'tmp_name']. поэтому, когда вы перемещаете его, вы удаляете временную папку в свою папку. если вы используете команду copy вместо move_uploaded_file, тогда ваш временный файл останется в папке temp вашего сервера. вы можете искать имя файла там.

+1

Ничего, что еще не было сказано или включено в руководство. Скажите нам, что мы не знаем. –

+0

моя ошибка, я думал, что tmpname - это имя или временное название ... Спасибо за ответ. –

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

Содержит имя файла, хранящегося на жестком диске веб-сервера в директории системного временного файла, если другой каталог не был определен с помощью upload_tmp_dir настройки в вашем php.ini файл. Этот файл сохраняется только до тех пор, пока работает скрипт PHP, ответственный за обработку отправки формы. Итак, если вы хотите использовать загруженный файл позже (например, сохраните его для отображения на сайте), вам нужно сделать его копию в другом месте.

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

$_FILES['file']['name'] 

Содержит имя файла на клиентской машине, прежде чем он был submitted.If вы делаете постоянную копию временного файла, вы можете дать ему свое первоначальное название вместо автоматически сгенерированных временное имя файла, описанное выше.

Так что в целом:

$_FILES["file"]["name"] //stores the original filename from the client 
$_FILES["file"]["tmp_name"] //stores the name of the temporary file 

Надеется, что это помогает!

Смежные вопросы