我正在尝试从我的浏览器上传文件 - > 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中的参数无效
答案 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
的第二个参数应该是目标路径,您要移动文件。