PHP表单上传的一个问题 我做了个PHP上传的小接口,做完发现不能上传ZIP格式文件,我怀疑是不是它是不是把ZIP文件当成二进制进行解析了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不能上传zip文件? 那么 $_FILES['表单控件Name']['error']会有错误提示代码一般是文件大小超过限制,不是二进制什么的问题http://php.net/manual/zh/features.file-upload.errors.php 关于文件大小的问题是不存在的,我需要上传的ZIP文件只有700K 我应该没有阻止,其他格式的都可以。。唯独ZIP不行 那你打开错误显示功能。看报什么错。php.ini中令: display_errors=On 查看php.ini中:post_max_size 的值,默认为30M.upload_max_filesize 的值,默认为20M.你要上传的文件大小是否大于该值。要么修改php.ini,要么上传小文件。 那很有可能你的程序中阻止zip格式的上传。类似于: if("application/x-rar-compressed" == $_FILES['datas']['type']){ return; } 接收页面里pring_r($_FILES); $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 "文件名称或者文件格式不正确,请查验后再次上传!!"; } 我在接受页就是这样写的刚刚pring_r($_FILES);报错Fatal error: Call to undefined function pring_r() in E:\xampp\htdocs\interface\add.php on line 29 刚刚找到原因是上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。这个在哪修改,我用的是netbeans,操作系统是windowsXP。 用Vim软件作php编辑器,怎样设置输入环境? OOP编程真慢 大家帮我看看查询语句这样写会报错为什么??? UTF-8和GB2312的中文如何在同一个页面中显示 curl上传图片文件的问题。 如何进行验证? 请问有没有办法读取客户端的硬盘呀? 谁来解释下 mysql_unbuffered_query 什么做用~ 哪里能找到将ASP转换为PHP的工具? php视频直播系统 mysql 排序的问题~~~~~~~ include();引入多个页面如何交互
一般是文件大小超过限制,不是二进制什么的问题
http://php.net/manual/zh/features.file-upload.errors.php
php.ini中令: display_errors=On
post_max_size 的值,默认为30M.
upload_max_filesize 的值,默认为20M.
你要上传的文件大小是否大于该值。
要么修改php.ini,要么上传小文件。
类似于: if("application/x-rar-compressed" == $_FILES['datas']['type']){
return;
}
pring_r($_FILES);
$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 "文件名称或者文件格式不正确,请查验后再次上传!!"; }