web-dev-qa-db-ja.com

PHPアップロードされたテキストファイルから読み取る?

フォームを介してテキストファイルをアップロードする場合、最初にサーバーに保存するのではなく、その内容を$ _FILES変数から直接出力できますか?これはセキュリティ上のリスクであることは知っていますが、ローカルマシンでのみ実行されます。

アドバイスをお願いします。

ありがとう。

29
Dan

ファイルはアップロードされた時点で一時ディレクトリに保存されますが、$_FILES['uploadedfile']['tmp_name']永続的な場所に保存せずに読むことができます。

48
Marek Karbarz

やること

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 です

69
MANCHUCK

残念だけど違う。少なくとも$ _FILES変数は使用しません。ごめんなさい。

編集:それは常に一時ファイルとして$ _FILESに保存され、コンテンツには常にそれを使用する必要があります。

5
Teekin