看着this document;我正在尝试使用XMLHttpRequest
上传文件。
这是我的开始方式:我将代码放在文档的香草框架部分中。然后,我首先使其在自己的网站上运行。然后,要实现上传功能,我想修改 register.php 文件的末尾。实际上,已经有文件传输到服务器了。要将其称为上载,我只需要将文件保存在服务器上即可。
我在以下几行之后这样做:
echo "\n\n:: Files received ::\n\n";
print_r($_FILES);
在那里,我想在服务器上写入$ _FILES [0]的内容。为此,我使用以下代码:
$myfile = fopen("MyData.jpg", "w");
fwrite($myfile, $_FILES[0]);
// The three lines below that I have tried instead of the one above do not work either.
//fwrite($myfile, json_encode($_FILES['photos']);
//fwrite($myfile, json_encode($_FILES[photos[0]]);
//fwrite($myfile, json_encode($_FILES['photos'][0]);
fclose($myfile);
结果是,在服务器上按预期方式写入了一个名为 MyData.jpg 的文件,但其长度为零。
我认为上述三行有误,但我做错了什么?
答案 0 :(得分:3)
正确的方法是使用
move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], "MyData.jpg");
其中“ fileToUpload”是您为文件按钮指定的字段名称
答案 1 :(得分:1)
我想您会在这里获得数据:$ _FILES ['photos'] ['tmp_name'] [0]。 请尝试。
或
您可以像下面这样重写代码:
foreach($_FILES['photos']['tmp_name'] as $i=>$file){
if($_FILES['photos']['error'][$i] == 0){
move_uploaded_file($file, "MyData_".$i.".jpg");
}
}