ファイルアップロード時に、$_FILE[~]["tmp_name"]に値が入らない - PHPプロ!Q&A掲示板
1448
- 0P
- 0P
ファイルアップロード時に、$_FILE[~]["tmp_name"]に値が入らない
質問日時 / 2008年8月29日 10:40 (最終編集:8月29日 10:47) 回答数 / 10件
Questioner: awus787b
Tweet
PHP5.2.6で、フォームからファイルをアップロードしようとしているのですが、表題の通り、
サーバ内での一時ファイルの名前を表す$_FILE[~]["tmp_name"]に値が入らず、
アップロードが出来ない状態に陥っています。
以下、実際のソースの一部です。
- ▼ファイル選択画面のソース(input.tpl)
- <form action="./upload.php" method="post" enctype="multipart/form-data">
- <p>
- <input type="file" name="file_name" size="50" style="height:22px;"><br>
- <input type="submit" value=" アップロード ">
- </p>
- </form>
- ▼アップロード処理部分(upload.php)
- var_dump($_FILES[file_name]);
- if(isset($_FILES[file_name])){
- move_uploaded_file( $_FILES[file_name]["tmp_name"], (移動先ディレクトリ)."filename.csv" );
- }
途中、$_FILESの内容をvar_dump();で表示させていますが、その内容は下記の通りです。
- array(5) {
- ["name"]=> string(14) "(ファイル選択画面で選択したファイル名)"
- ["type"]=> string(0) ""
- ["tmp_name"]=> string(0) ""
- ["error"]=> int(6)
- ["size"]=> int(0)
- }
事前にこの現象について調べたところ、php.iniでの設定・httpd.confでの設定が関連すると言うことなので、各種設定情報ならびにphpinfo()での表示を以下に記します。
- ▼php.iniのupload_tmp_dir
- ;upload_tmp_dir =
- ▼phpinfo()での各種情報
- file_uploads:On
- upload_max_filesize:2M
- upload_tmp_dir:no value
※『解明するにはこの情報が足りない』などありましたら、教えていただければ後ほど用意いたします。
これらのことから、アップロードできない原因、$_FILES[file_name]["tmp_name"]に値が入らないがわかりますでしょうか。
よろしくお願いいたします。





ページのトップへ


一つの目安として、ECサイトの購入情報など絶対に消えてはいけないものはDBに、カートなどの一時的に使用する情報や、ユーザに任意のタイミングで消去されても構わないものはセッションにと使い分けるといいでしょう。