0

PHP コード:

$target_path='uploads/';
//$target_path=$target_path.basename($_FILES['photo']['name']);
$res=move_uploaded_file($_FILES['photo']['tmp_name'],$target_path);
if($res)
//perform insert query
else
//echo 'file not uploaded';

HTML コード:

<td colspan="3"> <input type="file" name="photo" id="photo"> </td>

実行後、イメージ ファイルは target_path フォルダーに移動されません。また、$res の値は空のままです。

変数の値が「true」の場合、挿入クエリを実行したいので、$res の値が必要です。

アップロードされたファイルにエラーはありません。それは存在し、target_path も同様です。target_path フォルダにも同名のファイルはありません。

4

4 に答える 4

0

move_uploaded_files の代わりに copy() を使用しただけで、うまくいきました。私のフォームにはenctypeが記載されていないことに注意してください。それが原因で move_uploaded_files が機能しなかったかどうかはわかりません。しかし、それがなくても copy() は確実に機能します。

oldskoolが上でコメントしたことも考慮してください

"$_FILES['photo']['tmp_name'] は、/tmp/asx823ASDfg のようなアップロードへのフル パスを保持するため、この構文を使用すると、/upload//tmp/asx823ASDfg が生成され、 (おそらく) 存在しないフォルダ – Oldskool

于 2013-01-22T06:26:35.753 に答える
0

これは作業コードです

$target_path='/uploads/';
$target_path=$target_path.uniqid().$_FILES['upload_photo']['name'];
$res=move_uploaded_file($_FILES['upload_photo']['tmp_name'],$target_path);
if($res)
//perform insert query
else
//echo 'file not uploaded';

 <input type="file" name="upload_photo" id="upload_photo"> 
于 2013-06-20T11:35:20.337 に答える
0

HTML のフォーム要素内にファイル入力がありますか? そして、フォーム要素に enctype="multipart/form-data" を確実に持っていますか?

上記をお持ちの場合は、これを実行して何が起こっているかをデバッグしてください。これにより、ファイル配列が出力されるため、問題があるかどうかを確認できます。

exit(var_dump($_FILES));
$target_path='uploads/';
//$target_path=$target_path.basename($_FILES['photo']['name']);
$res=move_uploaded_file($_FILES['photo']['tmp_name'],$target_path);
if($res)
//perform insert query
else
//echo 'file not uploaded';
于 2013-01-21T11:46:46.823 に答える
-1

この方法を試してください..

move_uploaded_file($_FILES['photo']['tmp_name'], "/upload/".$_FILES['photo']['tmp_name']);

于 2013-01-21T09:41:09.680 に答える