我有这个代码将我上传的文件移动到特定目录:
if (isset($_FILES["image"]["name"])){
if (!is_dir('pf/' . $uid)) {
mkdir('pf/' . $uid);
$large_image_location = "pf/" . $uid;
}else {
$large_image_location = "pf/" . $uid;
}
chmod ($large_image_location, 0777);
move_uploaded_file("$userfile_tmp", "$large_image_location/$userfile_tmp");
}
然而,这会产生以下错误:
( ! ) Warning: move_uploaded_file(pf/BfyhieniKJGGqTNm/C:\wamp\tmp\phpF08A.tmp) [function.move-uploaded-file]: failed to open stream: Invalid argument in C:\wamp\www\mingle\upload_dp.php on line 26
如何解决这个问题的任何帮助将不胜感激!
答案 0 :(得分:5)
这是你困难的90%:
move_uploaded_file("$userfile_tmp", "$large_image_location/$userfile_tmp");
您在上传路径的开头使用移动到路径。尝试:
move_uploaded_file("$userfile_tmp", "$large_image_location/".$_FILES['image']['name']);
这应该会更好。
答案 1 :(得分:2)
错误本身很清楚,pf/BfyhieniKJGGqTNm/C:\wamp\tmp\phpF08A.tmp
不是有效的文件名。
请勿更改$_FILES[n]['tmp_name']
(或$userfile_tmp
的内容),因为它始终包含上传文件的完整路径。