很多站长朋友们都不太清楚php上传文件类型限制,今天小编就来给大家整理php上传文件类型限制,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 如何修改PHP上传文件大小限制? 2、 PHP文件上传类型限制 3、 php上传图片只能小于1M 4、 PHP 上传大于2M的文件限制 5、 php怎样设置不允许哪些类型的文件上传,请给出代码? 6、 php最大能传多大的文件 如何修改PHP上传文件大小限制?1. 在php.ini中,做如下修改:\x0d\x0a file_uploads = on\x0d\x0a upload_tmp_dir = /home/upload\x0d\x0a upload_max_filesize = 4000M\x0d\x0a post_max_size = 4000M\x0d\x0a 一般地,设置好上述四个参数后,上传8M的大体积文件,只设置上述四项还一定能行的通。除非你的网络真有100M/S的上传高速,否则你还得关心关心下面的参数:\x0d\x0a max_execution_time = 600\x0d\x0a max_input_time = 600\x0d\x0a memory_limit = 128M\x0d\x0a\x0d\x0a2. 在要确认上传的 里加入以下行:\x0d\x0a \x0d\x0a3. $_FILES["userfile"]["error"]返回值说明:\x0d\x0a $_FILES['teacher_pic']['error'] = 1 文件大小超过了PHP.ini中的文件限制\x0d\x0a $_FILES['teacher_pic']['error'] = 2 文件大小超过了浏览器限制\x0d\x0a $_FILES['teacher_pic']['error'] = 3 文件部分被上传\x0d\x0a $_FILES['teacher_pic']['error'] = 4 没有找到要上传的文件\x0d\x0a $_FILES['teacher_pic']['error'] = 5 服务器临时文件夹丢失\x0d\x0a $_FILES['teacher_pic']['error'] = 6 文件写入到临时文件夹出错\x0d\x0a $_FILES['teacher_pic']['error'] = -1 末充许的类型\x0d\x0a $_FILES['teacher_pic']['error'] = -2 文件过大,上传文件不能超过{$this->maxSize}个字节\x0d\x0a $_FILES['teacher_pic']['error'] = -3 上传失败\x0d\x0a $_FILES['teacher_pic']['error'] = -4 建立存放上传文件目录失败,请重新指定上传目录\x0d\x0a $_FILES['teacher_pic']['error'] = -5 必须指定上传文件的路径
PHP文件上传类型限制有两种方式可以给你解决,也可以几种方式同时使用
使用原本自带的函数getimagesize来判断是否是图片
使用获取上传文件头的方式来判断
$filename='xxxx.gif';
$file=fopen($filename,'rb');
$bin=fread($file,2); //只读取上传文件的头文信息的2个字节
fclose($file);
$strInfo=@unpack('c2chars',$bin);
$typeCode=intval($strInfo['chars1'].$strInfo['chars2']);
$fileType='';
switch ($typeCode){
case 7790:
$fileType='exe';
break;
case 7784:
$fileType='midi';
break;
case 8297:
$fileType='rar';
break;
case 255216:
$fileType='jpg';
break;
case 7173:
$fileType='gif';
break;
case 6677:
$fileType='bmp';
break;
case 13780:
$fileType='png';
break;
default:
echo 'unknown';
break;
}
echo '文件类型:'.$fileType.' 文件头信息:'.$typeCode;
希望对你有用!
php上传图片只能小于1Mphp 服务器限制了上传大小1M ,不能获取大于一兆的文件大小。
修改PHP上传文件大小限制的方法:一般的文件上传,除非文件很小.就像一个5M的文件,很可能要超过一分钟才能上传完。但在php中,默认的该页最久执行时间为 30 秒.就是说超过30秒,该脚本就停止执行。这就导致出现 无法打开网页的情况.这时我们可以修改 max_execution_time在php.ini里查找max_execution_time默认是30秒.改为max_execution_time = 00表示没有限制
phpStudy是一个PHP调试环境的程序集成包。该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境。该程序不仅包括PHP调试环境,还包括了开发工具、开发手册等。
PHP 上传大于2M的文件限制解决方法:
php.ini里查找
查找 post_max_size 改为:
post_max_size = 100M
查找upload_max_filesize,默认为2M 改为:
upload_max_filesize = 100M
解决上传超时
默认是30秒 改为:
max_execution_time = 0
0代表不限制
max_input_time = 600 ;每个PHP页面接收数据所需的最大时间,默认60秒
memory_limit = 128M ;每个PHP页面所吃掉的最大内存,默认8M
另外要确认上传的 <form> 里没有类似下面的这行<input type="hidden" name="MAX_FILE_SIZE" value="1000000">这样也是限制上传大小用的
如果是apache 2 需要修改:
/etc/httpd/conf.d/php.conf 中的LimitRequestBody 524288将524288(=512×1024)改大,比如5M(=5×1024×1024)这样上传就不会出现如上问题,上传不响应,上传现实该页无法现实也将得到解决!
php怎样设置不允许哪些类型的文件上传,请给出代码?$arrDenyExts = array("gif", "jpeg", "jpg", "png"); //不允许上传文件的格式
$temp = explode(".", $_FILES["file"]["name"]); //按点分割文件名,这里根据
//$temp = explode(".","d:\test.jpg"); //按点分割文件名
$extension = end($temp);//获取最后一个元素,确保是文件格式
$isAllow = true;
foreach($arrDenyExts as $key=>$val) {
if($extension==$val) {
$isAllow=false;
break;
}
}
if($isAllow) {
echo "该文件格式允许上传<br/>";
} else {
echo "该文件格式不允许上传<br/>";
}
php最大能传多大的文件默认只能传最大 2M 的文件。
不过,可以配置php.ini文件,修改上传文件大小的限制。
配置php.ini文件 (以上传500M以下大小的文件为例)
查找以下选项并修改->
file_uploads = On ;打开文件上传选项
upload_max_filesize = 500M ;上传文件上限
如果要上传比较大的文件,仅仅以上两条还不够,必须把服务器缓存上限调大,把脚本最大执行时间变长
post_max_size = 500M ;post上限
max_execution_time = 1800 ; Maximum execution time of each script, in seconds脚本最大执行时间
max_input_time = 1800 ; Maximum amount of time each script may spend parsing request data
memory_limit = 128M ; Maximum amount of memory a script may consume (128MB)内存上限
关于php上传文件类型限制的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php上传文件类型限制 php上传文件大小限制代码的详细内容...