php限制文件類型,php禁止某些類型的上傳文件

本文目錄一覽:

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:31
下一篇 2024-12-12 12:31

相關推薦

  • int類型變數的細節與注意事項

    本文將從 int 類型變數的定義、聲明、初始化、範圍、運算和類型轉換等方面,對 int 類型變數進行詳細闡述和講解,幫助讀者更好地掌握和應用 int 變數。 一、定義與聲明 int…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python3定義函數參數類型

    Python是一門動態類型語言,不需要在定義變數時顯示的指定變數類型,但是Python3中提供了函數參數類型的聲明功能,在函數定義時明確定義參數類型。在函數的形參後面加上冒號(:)…

    編程 2025-04-29
  • Python基本數字類型

    本文將介紹Python中基本數字類型,包括整型、布爾型、浮點型、複數型,並提供相應的代碼示例以便讀者更好的理解。 一、整型 整型即整數類型,Python中的整型沒有大小限制,所以可…

    編程 2025-04-29
  • Python中的Bool類型判斷

    本篇文章旨在講解Python中的Bool類型判斷。在Python中,Bool類型是經常使用的一種類型,因此掌握其用法非常重要。 一、True和False 在Python中,True…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • Python函數類型有哪些

    本文將從以下幾個方面詳細闡述Python函數類型。 一、內置函數 Python的內置函數是指在Python編程語言中提供的可以直接使用的函數,不需要通過導入模塊等方式引入。 部分常…

    編程 2025-04-29
  • Python中的整數類型int類總覽

    本文將從多個方面,對Python中的整數類型int類進行全面介紹和闡述。 一、數據類型及基本操作 在Python中,整數類型的數據類型為int。在Python3.x中,整數類型的范…

    編程 2025-04-28
  • Python變數類型用法介紹

    Python是一種解釋型編程語言,它提供了豐富的數據類型,包括數字、字元串、列表、元組、集合、字典等。Python變數類型的定義是Python程序開發的基礎,本文將從以下幾個方面對…

    編程 2025-04-28
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28

發表回復

登錄後才能評論