本文目錄一覽:
- 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;
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/241354.html