您的位置:

php禁止某些类型的上传文件,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/";

}