我似乎找不到php文件中的错误?也许是由于ajax引起的?

时间:2018-07-27 20:34:01

标签: php jquery html ajax

首先,我刚遇到过ajax和jquery,我必须承认它们看起来很有趣。但是我花了很多时间弄清楚为什么上传img-s的结果总是一样的。我的想法是创建一个页面,在其中可以导入具有大小和扩展名等限制的多个图像,但由于某些原因,错误只是不打印。无论结果如何,它只会打印alert(“ Image Uploaded”)。这是我的html的ajax部分:

<script>  
 $(document).ready(function(){  
      $('#uploadForm').on('submit', function(e){  
           e.preventDefault();  
           $.ajax({  
                url: "upload.php",  
                type: "POST",  
                data: new FormData(this),  
                contentType: false,  
                processData:false,  
                success: function(data)  
                {  
                     $("#gallery").html(data);  
                     alert("Image Uploaded");  
                }  
           });  
      });  
 });  

 </script>

这是我只是在html文件中调用的upload.php:

 <?php  
 //upload.php  
 $output = '';  
 if(is_array($_FILES))   
 {  
      foreach ($_FILES['files']['name'] as $name => $value)  
      {  
      $totalImageIndex = ($name+1);
           $file_name = explode(".", $_FILES['files']['name'][$name]);  
           $file_size = $_FILES['files']['size'][$name];
           $allowed_ext = array("png", "gif");  
           if(in_array($file_name[1], $allowed_ext))  
           {  
            if($totalImageIndex <= 5 ) {
                // 2 MB is 2097152 bytes.
                if($file_size < 2097152){
                $new_name = $totalImageIndex . '.' . $file_name[1];  
                $sourcePath = $_FILES['files']['tmp_name'][$name]; 
                $targetPath = "slike/".$new_name;  
                if(move_uploaded_file($sourcePath, $targetPath)) 

                {  
                     $output .= '<img src="'.$targetPath.'" width="150px" height="180px" />';  
                }

                }   
else { continue ; }             
           }    else echo 'file is too big!';       
      } else   echo 'wrong file format!';     
 }
 echo $output;}

 ?>  

任何想法或建议都会被采纳,谢谢您!

1 个答案:

答案 0 :(得分:0)

在成功执行Ajax时,您将获得回传到php文件中的数据,因此,无论是取回图像还是返回错误,您都可以简单地alert(data);仅查看您在ajax代码中得到的内容,您将向警报(图像上浮)发出警报(当您收到错误数据时将始终调用该警报),因为成功只需删除该警报并仅执行alert(data),您将看到错误如果有