-1

我有这段代码可以将我上传的文件移动到特定目录:

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

任何有关如何解决这个问题的帮助将不胜感激!

4

2 回答 2

5

这是你 90% 的问题:

 move_uploaded_file("$userfile_tmp", "$large_image_location/$userfile_tmp");

您在上传路径的开头使用移动到的路径。尝试:

move_uploaded_file("$userfile_tmp", "$large_image_location/".$_FILES['image']['name']);

那应该会更好。

于 2012-06-22T12:09:35.707 回答
2

错误本身很清楚,pf/BfyhieniKJGGqTNm/C:\wamp\tmp\phpF08A.tmp不是有效的文件名。

不要更改$_FILES[n]['tmp_name'](或$userfile_tmp就此而言)的内容,因为它始终包含上传文件的完整路径。

于 2012-06-22T12:06:45.163 回答