我做了个PHP上传的小接口,做完发现不能上传ZIP格式文件,我怀疑是不是它是不是把ZIP文件当成二进制进行解析了

解决方案 »

  1.   

    不能上传zip文件? 那么 $_FILES['表单控件Name']['error']会有错误提示代码
    一般是文件大小超过限制,不是二进制什么的问题
    http://php.net/manual/zh/features.file-upload.errors.php
      

  2.   

    关于文件大小的问题是不存在的,我需要上传的ZIP文件只有700K
      

  3.   

    我应该没有阻止,其他格式的都可以。。唯独ZIP不行
      

  4.   

    那你打开错误显示功能。看报什么错。
    php.ini中令: display_errors=On  
      

  5.   

    查看php.ini中:
    post_max_size 的值,默认为30M.
    upload_max_filesize 的值,默认为20M.
    你要上传的文件大小是否大于该值。
    要么修改php.ini,要么上传小文件。
      

  6.   

    那很有可能你的程序中阻止zip格式的上传。
    类似于: if("application/x-rar-compressed" == $_FILES['datas']['type']){
    return;
    }
      

  7.   

    接收页面里
    pring_r($_FILES);
      

  8.   


                            $filename=basename($_FILES['filename_cu']['name']);
                if($filename == "gc_record.zip"){
                            $dir="d:/file/";
                            $newname=$dir.$filename;
                        
                            $result=move_uploaded_file($_FILES['filename_cu']['tmp_name'],$newname)?"上传成功\n":"对不起,上传失败\n";
                            printf($result);
    //                        exit;
                            $file = 'd:/file/XXX.zip';
                            $newfile = 'd:/filebak/XXX.' . $_time_add . '.zip';
                            $unfile ='d:/filebak/XXX';
                            if(!copy($file, $newfile)){
                                echo "多次备份不成功请联系后台\n";
                            }
                            else{
                                print "文件备份成功!!\n";
                            }
                            unzip_file($file, $unfile);
                        }
                    else{                    print "文件名称或者文件格式不正确,请查验后再次上传!!";                    }
      

  9.   

    我在接受页就是这样写的刚刚pring_r($_FILES);报错Fatal error: Call to undefined function pring_r() in E:\xampp\htdocs\interface\add.php on line 29
      

  10.   

    刚刚找到原因是上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。这个在哪修改,我用的是netbeans,操作系统是windowsXP。