PHP copy()无法打开流:无效的参数

时间:2015-09-01 08:13:37

标签: php xampp invalid-argument

我正在尝试从我的浏览器上传文件 - > PHP脚本 - >服务器。

我的浏览器和PHP脚本位于同一台服务器上。我正在使用xampp。我必须上传此文件的服务器是不同的。

这是我的代码:

$fdir = "http:\\\\myip\\D:\\errors\\";
$ffile = $fdir.basename($_FILES['myfile']['name']);
if (copy($ffile,$_FILES['myfile']['tmp_name'])) {
    echo "<br />"."File uploaded successfully";
} else {
    echo "<br />"."Error in uploading file";
}

我收到以下错误:

  

copy(http:\ myip \ D:\ errors \ IMG-20150424-WA0004.jpg):无法打开流:第54行的C:\ xampp \ htdocs \ BS \ myphp1.php中的参数无效

任何帮助都将不胜感激。

修改

我编辑了我的代码以删除http://并使用服务器的名称。 此外,我现在使用move_uploaded_file代替copy

$fdir="\\\\TESTSRV\\D:\\errors\\";
$ffile=$fdir.basename($_FILES['myfile']['name']);
move_Uploaded_file($_FILES['myfile']['tmp_name'],$ffile);

但它仍然给我错误

  

move_uploaded_file(\ TESTSRV \ D:\ errors \ IMG-20150424-WA0004.jpg):无法打开流:第54行的C:\ xampp \ htdocs \ BS \ myphp1.php中的参数无效

1 个答案:

答案 0 :(得分:0)

这不是复制上传文件的方法 - 您需要使用函数move_uploaded_file

if (move_uploaded_file($_FILES['myfile']['tmp_name'], "c:\\path\\to\\file")) {
    echo "<br />"."File uploaded successfully";
} else {
    echo "<br />"."Error in uploading file";
}

另外,我不认为您的$fdir变量是Windows中的有效路径。基本上move_uploaded_file的第二个参数应该是目标路径,您要移动文件。