Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用;“一点普通的框架”;构建上载功能的步骤_Javascript_Php_File Upload_Xmlhttprequest - Fatal编程技术网

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
知道如何处理。谢谢你的建议。我试过了,但暂时不起作用。我也更新了我的帖子来反映这一点。