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

PHP copy() failed to open stream: 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): failed to open stream: Invalid argument in C:\xampp\htdocs\BS\myphp1.php on line 54

如有任何帮助,我们将不胜感激。

编辑:

我编辑了我的代码以删除 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): failed to open stream: Invalid argument in C:\xampp\htdocs\BS\myphp1.php on line 54

这不是复制上传文件的方法-您需要使用函数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 的第二个参数应该是目标路径,您要将文件移动到的位置。