我有一个表单,其中一个输入作为文件上传。我有一个PHP脚本,我用jquery ajax调用以验证其他表单字段并在表单上方的div中显示错误消息。它使用.html()jquery函数,基于与以下脚本非常相似的php echo。
我还创建了一个PHP脚本来验证文件上传,如下所示:
<?php
$errorList = array();
$inc = 0;
$allowedExt = array("jpg", "jpeg", "gif", "png");
$fileExt = end(explode(".", $_FILES['imgUpload']['name']));
if((($_FILES['imgUpload']['type'] == 'image/gif')
|| ($_FILES['imgUpload']['type'] == 'image/pnjpeg')
|| ($_FILES['imgUpload']['type'] == 'image/jpeg'))
&& ($_FILES['imgUpload']['size'] < 2000000)
&& in_array($fileExt, $allowedExt)){
if($_FILES['imgUpload']['error'] > 0)){
$errorList[$inc++] = '<span class="error"> File error:'. $_FILES['imgUpload']['error'].'</span>';
}
}
else{
$errorList[$inc++] = '<span class="error"> Invalid file </span>';
}
echo '<ul class="errorList">';
for($i =0; $i<$inc; $i++){
echo $errorList[$i];
}
echo '</ul>';
?>
我希望此脚本中的错误消息以与其他类似的方式显示,但正如我所读,文件上传不能使用ajax完成。
有人对我如何解决这个问题有任何建议吗?
答案 0 :(得分:0)
Ajax无法上传文件。但您可以使用IFrame使其看起来像Ajax。
您的选择是:
如果您有帮助,请参阅此示例
http://www.anyexample.com/programming/php/php_ajax_example__asynchronous_file_upload.xml
正在使用iframe选项