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。 本人正在学C++和java 想做个类似社交网站 所以想自己开发架构 想学点php 各位大大们,请教一段代码的详细注释或讲解,谢谢各位大大,高手们.... 请教php如何实现传输二进制字节流到MTK客户端程序 一个参数问题,寻求帮忙(送高分) PHP 拼接操作符问题 弱弱问一下,虚拟主机商的主机上有个freehost文件,什么意思? 这种带箭头的写法是啥回事呢 PHP出错,请帮助解决,多谢! 留言簿 PHP post为空 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 "文件名称或者文件格式不正确,请查验后再次上传!!"; }