本文目录一览:
- 1、php不限制上传文件类型,怎么实现?
- 2、php如果不限制限制上传文件类型的话是不是任何类型都可以上传??
- 3、php代码不能上传文件类型(为什么添加docx\xlsx\pptx这类文件不能上传到网站)还要改什么地方?
- 4、php过滤上传类型,只上传图片类型文件
- 5、PHP文件上传类型限制
- 6、php怎样设置不允许哪些类型的文件上传,请给出代码?
php不限制上传文件类型,怎么实现?
可以通过修改php.ini配置文件来达到更改上传文件的大小
一个是 Upload_max_filesize 允许上传的最大大小。单位M, Exp:50M
一个是 post_max_size:表单上允许的文件最大大小。单位M,Exp:50M
他们两好像有一个要比其中一个的数值大,我记不太清了。
应该是upload_max_filesize的数值得大于post_max_size的数值
php如果不限制限制上传文件类型的话是不是任何类型都可以上传??
理论上是。
但是如果是虚拟主机的话,可能会受到限制。应为虚拟主机的提供商为了安全。可以在php.ini文件中做限制。指定某些文件不准上传。
php代码不能上传文件类型(为什么添加docx\xlsx\pptx这类文件不能上传到网站)还要改什么地方?
改下面这一句:
if ( substr( $fname, -4 ) != ".rar" substr( $fname, -4 ) != ".zip" substr( $fname, -4 ) != ".doc" substr( $fname, -4 ) != ".xls" substr( $fname, -4 ) != ".xlsx" substr( $fname, -4 ) != ".docx" substr( $fname, -4 ) != ".pptx" substr( $fname, -4 ) != ".ppt" substr( $fname, -4 ) != ".htm" substr( $fname, -5 ) != ".html" substr( $fname, -4 ) != ".gif" substr( $fname, -4 ) != ".jpg" substr( $fname, -4 ) != ".png" substr( $fname, -4 ) != ".chm" substr( $fname, -4 ) != ".txt" )
这一句的意思是指定只能传那些文件,如果需要传docx就需要添加在里面,添加docx后的代码如下:
if ( substr( $fname, -4 ) != ".rar" substr( $fname, -4 ) != ".zip" substr( $fname, -4 ) != ".doc" substr( $fname, -4 ) != ".xls" substr( $fname, -4 ) != ".xlsx" substr( $fname, -4 ) != ".docx" substr( $fname, -4 ) != ".pptx" substr( $fname, -4 ) != ".ppt" substr( $fname, -4 ) != ".htm" substr( $fname, -5 ) != ".html" substr( $fname, -4 ) != ".gif" substr( $fname, -4 ) != ".jpg" substr( $fname, -4 ) != ".png" substr( $fname, -4 ) != ".chm" substr( $fname, -4 ) != ".txt" substr( $fname, -5 ) != ".docx" )
你对比一下就知道我修改的地方,就是在)前面加上 substr( $fname, -5 ) != ".docx" ,你用类似的办法可以增加对其它扩展名的支持。
php过滤上传类型,只上传图片类型文件
你可以这样,如果说你的上传文件文件名是$uploadfilename,那么可以用
$str = end(explode(".",$uploadfilename));获得上传文件的扩展名,然后再进行判断if($str=="jpg" or $str=="jpeg" or $str=="gif" or $str=="png")的时候才执行上传,否则返回错误提示信息,这样子来限制上传文件类型
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怎样设置不允许哪些类型的文件上传,请给出代码?
$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/";
}