本文目录一览:
- 1、php如果不限制限制上传文件类型的话是不是任何类型都可以上传
- 2、php怎样设置不允许哪些类型的文件上传,请给出代码?
- 3、PHP文件上传类型限制
- 4、如何修改PHP上传文件大小限制?
- 5、PHP中怎么限定上传文件的格式为doc或者docx
php如果不限制限制上传文件类型的话是不是任何类型都可以上传
理论上是。
但是如果是虚拟主机的话,可能会受到限制。应为虚拟主机的提供商为了安全。可以在php.ini文件中做限制。指定某些文件不准上传。
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文件上传类型限制
有两种方式可以给你解决,也可以几种方式同时使用
使用原本自带的函数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上传文件大小限制?
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中怎么限定上传文件的格式为doc或者docx
function NewUploadFile( $jpg, $jpg_type, $fname, $jpg_size, $path )
{
global $strDownNotice9;
global $strDownNotice11;
if ( $jpg_size == 0 )
{
$arr[0] = "err";
$arr[1] = $strDownNotice9;
return $arr;
}
if ( substr( $fname, -4 ) != ".doc" substr( $fname, -5 ) != ".docx" )
{
$arr[0] = "err";
$arr[1] = $strDownNotice11;
return $arr;
}
$hzarr = explode( ".", $fname );
$num = sizeof( $hzarr ) - 1;
$UploadImage[2] = $hzarr[$num];
$timestr = time( );
$hz = substr( $fname, -4 );
$file_path = ROOTPATH.$path."/".$timestr.$hz;
$UploadImage[3] = $path."/".$timestr.$hz;
copy( $jpg, $file_path );
chmod( $file_path, 438 );
$UploadImage[0] = "OK";
$UploadImage[1] = "OK";
return $UploadImage;
}