php上傳限制
php後台代碼可以設置
但最根本的是php.ini中的設置:
upload_max_filesize = 2M
B. 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){
case7790:
$fileType='exe';
break;
case7784:
$fileType='midi';
break;
case8297:
$fileType='rar';
break;
case255216:
$fileType='jpg';
break;
case7173:
$fileType='gif';
break;
case6677:
$fileType='bmp';
break;
case13780:
$fileType='png';
break;
default:
echo'unknown';
break;
}
echo'文件類型:'.$fileType.'文件頭信息:'.$typeCode;
希望對你有用!
C. php 文件上傳大小限制的問題
有時候需要用php上傳比較大的文件,默認是不可以的,必須按照下面的方法修改下。
配置php.ini文件 (以上傳500M以下大小的文件為例)
查找以下選項並修改->
file_uploads = On ;打開文件上傳選項
upload_max_filesize = 500M ;上傳文件上限
果要上傳比較大的文件,僅僅以上兩條還不夠,必須把伺服器緩存上限調大,把腳本最大執行時間變長
post_max_size=500M;//post上限
max_execution_time=1800;//,inseconds腳本最大執行時間
max_input_time=1800;//
memory_limit=128M;//(128MB)內存上限
D. PHP 上傳大於2M的文件限制
//感謝!作者:心若水寒
1. 一般的文件上傳,除非文件很小.就像一個5M的文件,很可能要超過一分鍾才能上傳完.
但在php中,默認的該頁最久執行時間為 30 秒.就是說超過30秒,該腳本就停止執行.
這就導致出現 無法打開網頁的情況.這時我們可以修改 max_execution_time
在php.ini里查找
max_execution_time
默認是30秒.改為
max_execution_time = 0
0表示沒有限制
另一種方法是可以在php程序中加入
set_time_limit();
來設定頁面最久執行時間.
set_time_limit(0);//0表示沒有限制
2. 修改 post_max_size 設定 POST 數據所允許的最大大小。此設定也影響到文件上傳。
php默認的post_max_size 為2M.如果 POST 數據尺寸大於 post_max_size $_POST 和 $_FILES superglobals 便會為空.
查找 post_max_size .改為
post_max_size = 150M
3. 很多人都會改了第二步.但上傳文件時最大仍然為 8M.
為什麼呢.我們還要改一個參數upload_max_filesize 表示所上傳的文件的最大大小。
查找upload_max_filesize,默認為8M改為
upload_max_filesize = 100M
另外要說明的是,post_max_size 大於 upload_max_filesize 為佳.
E. 如何修改PHP上傳文件大小限制
1. 在php.ini中,做如下修改:
file_uploads = on
upload_tmp_dir = /home/upload
upload_max_filesize = 4000M
post_max_size = 4000M
一般地,設置好上述四個參數後,上傳<=8M的文件是不成問題,在網路正常的情況下。
但如果要上傳>8M的大體積文件,只設置上述四項還一定能行的通。除非你的網路真有100M/S的上傳高速,否則你還得關心關心下面的參數:
max_execution_time = 600
max_input_time = 600
memory_limit = 128M
2. 在要確認上傳的 <form> 里加入以下行:
<input type="hidden" name="MAX_FILE_SIZE" value="4000000000">
3. $_FILES["userfile"]["error"]返回值說明:
$_FILES['teacher_pic']['error'] = 1 文件大小超過了PHP.ini中的文件限制
$_FILES['teacher_pic']['error'] = 2 文件大小超過了瀏覽器限制
$_FILES['teacher_pic']['error'] = 3 文件部分被上傳
$_FILES['teacher_pic']['error'] = 4 沒有找到要上傳的文件
$_FILES['teacher_pic']['error'] = 5 伺服器臨時文件夾丟失
$_FILES['teacher_pic']['error'] = 6 文件寫入到臨時文件夾出錯
$_FILES['teacher_pic']['error'] = -1 末充許的類型
$_FILES['teacher_pic']['error'] = -2 文件過大,上傳文件不能超過{$this->maxSize}個位元組
$_FILES['teacher_pic']['error'] = -3 上傳失敗
$_FILES['teacher_pic']['error'] = -4 建立存放上傳文件目錄失敗,請重新指定上傳目錄
$_FILES['teacher_pic']['error'] = -5 必須指定上傳文件的路徑
F. 如何取消php最大上傳文件限制
一、修改php.ini文件。
1、查找post_max_size,指通過表單POST給PHP的所能接收的最大值,包括表單里的所有值,默認為8M,看你自己需要進行改變。
2、查找File Uploads,首先確認file_uploads = on ;是否允許通過HTTP上傳文件的開關,默認為ON即是開。 upload_tmp_dir ;
查找upload_max_filesize ;即允許上傳文件大小的最大值。默認為2M。
3、如果要上傳>8M的文件,那麼只設置上述四項還不定一定可以。最好對下面的參數也進行設置:
查找max_execution_time = 600 ;每個PHP頁面運行的最大時間值(秒),默認30秒。
max_input_time = 600 ;每個PHP頁面接收數據所需的最大時間,默認60秒 。
memory_limit = 8M ;每個PHP頁面所吃掉的最大內存,默認8M。
G. php伺服器文件上傳大小被限制如何修改
打開php.ini,
首先找到file_uploads = on
;是否允許通過HTTP上傳文件的開關。默認為ON即是開
upload_tmp_dir
;文件上傳至伺服器上存儲臨時文件的地方,如果沒指定就會用系統默認的臨時文件夾
upload_max_filesize = 8m
;即允許上傳文件大小的最大值。默認為2M
post_max_size = 8m
;指通過表單POST給PHP的所能接收的最大值,包括表單里的所有值。默認為8M
一般地,設置好上述四個參數後,上傳<=8M的文件是不成問題,在網路正常的情況下。但如果要上傳>8M的大體積文件,只設置上述四項還一定能行的通。進一步配置以下的參數
max_execution_time = 600
;每個PHP頁面運行的最大時間值(秒),默認30秒
max_input_time = 600
;每個PHP頁面接收數據所需的最大時間,默認60秒
memory_limit = 8m
;每個PHP頁面所吃掉的最大內存,默認8M
把上述參數修改後,在網路所允許的正常情況下,就可以上傳大體積文件了
max_execution_time
= 600
max_input_time = 600
memory_limit = 32m
file_uploads =
on
upload_tmp_dir = /tmp
upload_max_filesize = 32m
post_max_size =
32m
H. php文件上傳容量限制如何提高
打開PHP.INI配置文件
修改upload_max_filesize = 2M
為你需要的大小比如
upload_max_filesize = 200M