ユーザーが私の Web サイトで PHP を使用してテキスト ファイルをアップロードするとします。このテキスト ファイルの内容だけを取得して処理したいのですが、ファイルを保存したり、ディスク上のどこかに move_uploded_file() を実行したりする必要はありません。それなど。
tmp_name またはその他の情報を使用してファイルの内容を取得する方法はありますか?
$_FILES スーパーグローバル配列を使用して、アップロードされたファイルに関連する情報を取得できます。
$_FILES['input-field-name']['tmp_name'] は、サーバーにアップロードされたファイルの一時コピーの名前を保存します
$_FILES['input-field-name']['tmp_name'] の値を引数として渡すことにより、 file_get_contents() 関数を使用してアップロードされたファイルの内容を取得できます。
スクリプトの実行が終了すると、一時コピーは削除されます。
以下のサンプル コード スニペットを参照してください。
<?php if($_SERVER['REQUEST_METHOD']=='POST')
{
if(isset($_FILES['input-field-name']))
{
$file_content=file_get_contents($_FILES['input-field-name']['tmp_name']);
}
}
?>
この場合には:
file_get_contents()
のtmp_name
部分で$_POST['filename']['tmp_name']
十分かもしれません。
ファイルの入力名属性の値が「ファイル名」であると仮定します。