PHP читать из загруженного текстового файла? - PullRequest
29 голосов
/ 04 февраля 2010

Если я загружаю текстовый файл через форму, возможно ли вывести его содержимое непосредственно из переменной $ _FILES, а не сохранять его на сервере в первую очередь? Я знаю, что это угроза безопасности, но она будет выполняться только на локальном компьютере.

Любой совет приветствуется.

Спасибо.

Ответы [ 3 ]

69 голосов
/ 04 февраля 2010

делает

file_get_contents($_FILES['uploadedfile']['tmp_name']); 

действителен, однако вы также должны убедиться, что файл был загружен через форму и что при загрузке не возникло ошибок:

if ($_FILES['uploadedfile']['error'] == UPLOAD_ERR_OK               //checks for errors
      && is_uploaded_file($_FILES['uploadedfile']['tmp_name'])) { //checks that file is uploaded
  echo file_get_contents($_FILES['uploadedfile']['tmp_name']); 
}

Полезная ссылка http://us2.php.net/manual/en/features.file-upload.php

49 голосов
/ 04 февраля 2010

Файл сохраняется во временный каталог в момент его загрузки, но вы можете использовать $_FILES['uploadedfile']['tmp_name'], чтобы прочитать его без необходимости сохранения в постоянном месте.

5 голосов
/ 04 февраля 2010

К сожалению, нет. По крайней мере, через переменную $ _FILES. К сожалению.

РЕДАКТИРОВАТЬ: он всегда сохраняется как временный файл в $ _FILES, и вам всегда придется использовать его для содержимого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...