繁体   English   中英

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

[英]Error in my php file I can't seem to find? Perhaps caused by 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;}

 ?>  

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM