Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.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
Php 如何在不刷新页面的情况下在服务器端进行文件上传验证?_Php_Validation_Upload - Fatal编程技术网

Php 如何在不刷新页面的情况下在服务器端进行文件上传验证?

Php 如何在不刷新页面的情况下在服务器端进行文件上传验证?,php,validation,upload,Php,Validation,Upload,我创建了一个脚本,用PHP上传一个文件。我还添加了文件大小和文件类型的文件验证检查。但是这里的场景是,表单包含10-12个文本框&一个文件上传框。因此,每当有人填写完整的表单并提交时,他们收到文件上传验证错误,他们就会返回表单并显示验证错误消息。但是表单会变为空,因为它显然会被发布到服务器端。 有没有办法在不重新加载/刷新页面的情况下进行文件上传验证?您可以使用ajax: 1) 提交ajax同步调用时,将表单内容发送到php服务器页面 2) php页面验证输入 3) 如果返回值为“false”(

我创建了一个脚本,用PHP上传一个文件。我还添加了文件大小和文件类型的文件验证检查。但是这里的场景是,表单包含10-12个文本框&一个文件上传框。因此,每当有人填写完整的表单并提交时,他们收到文件上传验证错误,他们就会返回表单并显示验证错误消息。但是表单会变为空,因为它显然会被发布到服务器端。 有没有办法在不重新加载/刷新页面的情况下进行文件上传验证?

您可以使用ajax:

1) 提交ajax同步调用时,将表单内容发送到php服务器页面 2) php页面验证输入
3) 如果返回值为“false”(验证错误),则执行调用的javascript将在页面的html中插入一条正确的消息。表单由用户的值填充

您可以使用$\u POST数组从表单中发布值。您应该将write form方法作为POST


同样,你可以使用ajax表单,这样不会丢失任何数据,页面也不会刷新

我强烈建议上传文件时使用此插件

它将允许您验证文件,如果有错误,您可以使用json来确定文件是否有效。我在我所有的项目中都使用它,这太棒了


编辑:它还允许您在不刷新页面的情况下提交文件,这是最重要的部分。

我曾经用iFrame完成过一次。您在iFrame中有一个表单目标,因此它在那里进行处理,而不是在当前页面上。我不记得全部细节了。