Javascript 使用;“一点普通的框架”;构建上载功能的步骤
看着;我正在尝试使用Javascript 使用;“一点普通的框架”;构建上载功能的步骤,javascript,php,file-upload,xmlhttprequest,Javascript,Php,File Upload,Xmlhttprequest,看着;我正在尝试使用XMLHttpRequest上传文件 以下是我如何开始的:我在文档的“普通框架”部分获取代码。然后我首先让它在我自己的网站上运行。然后,为了实现上传功能,我想修改register.php文件的结尾。实际上,到服务器的文件传输已经在那里进行了。要称之为上传,我只需将文件保存在服务器上 我在以下几行之后这样做: echo "\n\n:: Files received ::\n\n"; print_r($_FILES); 在这里,我想在服务器上写入$_文件[0]的内容。为此,我使
XMLHttpRequest
上传文件
以下是我如何开始的:我在文档的“普通框架”部分获取代码。然后我首先让它在我自己的网站上运行。然后,为了实现上传功能,我想修改register.php文件的结尾。实际上,到服务器的文件传输已经在那里进行了。要称之为上传,我只需将文件保存在服务器上
我在以下几行之后这样做:
echo "\n\n:: Files received ::\n\n";
print_r($_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的文件,但其长度为零
我认为上面三行有错误,但是,我做错了什么?正确的方法是使用
move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], "MyData.jpg");
其中“fileToUpload”是您为文件按钮指定的字段名正确的方法是使用
move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], "MyData.jpg");
其中“fileToUpload”是您为文件按钮提供的字段名我想您可以在这里获得数据:$\u FILES['photos']['tmp\u name'][0]。 请试一试 或 您可以像下面这样重写代码:
foreach($_FILES['photos']['tmp_name'] as $i=>$file){
if($_FILES['photos']['error'][$i] == 0){
move_uploaded_file($file, "MyData_".$i.".jpg");
}
}
我想您可以在这里获得数据:$\u文件['photos']['tmp\u name'][0]。 请试一试 或 您可以像下面这样重写代码:
foreach($_FILES['photos']['tmp_name'] as $i=>$file){
if($_FILES['photos']['error'][$i] == 0){
move_uploaded_file($file, "MyData_".$i.".jpg");
}
}
$\u文件[0]
不是该文件。它是关于该文件的信息。它可能不是$\u文件[0]
。它将是$\u文件['name\u of\u form\u field']
。这将是一个数组,如果你想在某处写入数据,你需要使用print\r($\u FILES['name\u of_form\u field'],true)
或json\u encode($\u FILES['name\u of_form\u field'])
或其他方法对其进行字符串化,因此fwrite
知道如何处理。谢谢你的建议。我试过了,但暂时不起作用。我也更新了我的帖子来反映这一点<代码>$\u文件[0]不是该文件。它是关于该文件的信息。它可能不是$\u文件[0]
。它将是$\u文件['name\u of\u form\u field']
。这将是一个数组,如果你想在某处写入数据,你需要使用print\r($\u FILES['name\u of_form\u field'],true)
或json\u encode($\u FILES['name\u of_form\u field'])
或其他方法对其进行字符串化,因此fwrite
知道如何处理。谢谢你的建议。我试过了,但暂时不起作用。我也更新了我的帖子来反映这一点。