PHP上傳原理及應用

2021-07-07 08:39:28 字數 2930 閱讀 2498

1、form標籤enctype屬性

表單中enctype="multipart/form-data"的意思,是設定表單的mime編碼。預設情況,

只有使用了multipart/form-data,才能完整的傳遞檔案資料

input標籤 type 屬性中的  "file"

2、$_files 系統函式

$_files['myfile']['name']   客戶端檔案的原名稱。

$_files['myfile']['type']   檔案的 mime 型別,例如"image/gif"。

$_files['myfile']['size']   已上傳檔案的大小,單位為位元組。

$_files['myfile']['tmp_name']   儲存的臨時檔名,一般是系統預設。

$_files['myfile']['error']   該檔案上傳相關的錯誤**。

0; 檔案上傳成功。

1; 超過了檔案大小php.ini中。

2;   超過了檔案大小

max_file_size 選項指定的值。

3; 檔案只有部分被上傳。

4; 沒有檔案被上傳。

5; 上傳檔案大小為0。

3、move_uploaded_file函式

上傳後移動檔案到目標位置的函式

move_uploaded_file(臨時檔案,目標位置和檔名);

4、is_uploaded_file 函式

判斷上傳mime型別的檔案函式

is_uploaded_file (mime)

[php]view plain

copy

<?php  

header("content-type:text/html; charset=utf-8"

);  

require_once

('dbi/dbconn.php'

);  

$id= 

$_post

['id'

];  

$gotopage

= ($id

=='new'

) ? 

"./products.php"

:"./products.php?id="

.$id

;  $upload_file

=$_files

["upload_file"

]["name"

];//獲取檔名 

$upload_tmp_file

=$_files

["upload_file"

]["tmp_name"

];//獲取臨時檔名 

$upload_filetype

=$_files

["upload_file"

]["type"

];//獲取檔案型別 

$upload_status

=$_files

["upload_file"

]["error"

]; //獲取檔案出錯情況 

$upload_dir

="../image/upload/"

; //指定檔案儲存路徑 

// 分析檔案出錯情況並給出提示

$alertinfo

= ""

;  switch

($upload_status

)   

if($upload_status

!= 0)  

// 迴圈排除替換檔名中的非法字元  

$errorchar

= array

("-"

," "

,"~"

,"!"

,"@"

,"#"

,"$"

,"%"

,"^"

,"&"

,"("

,")"

,"+"

,","

,"("

,")"

,"?"

,"!"

,"「"

,"」"

,"《"

,"》"

,":"

,";"

,"——"

); //定義非法字符集 

foreach

($errorchar

as$char

)   

}  // 定義檔案最終的儲存路徑和名稱

$upload_path

= $upload_dir

.$upload_file

;    

$gbk_upload_path

= iconv(

'utf-8'

, 'gbk'

,$upload_path

);   if(

is_uploaded_file

($upload_tmp_file

) )   

else

if(move_uploaded_file(

$upload_tmp_file

,$gbk_upload_path

))   

else

}  else

}  ?>  

PHP上傳原理及應用

1 form標籤enctype屬性 表單中enctype multipart form data 的意思,是設定表單的mime編碼。預設情況,只有使用了multipart form data,才能完整的傳遞檔案資料 input標籤 type 屬性中的 file 2 files 系統函式 files ...

PHP上傳原理及操作實現

關於php上傳檔案的函式類庫,網上有許多封裝很完善,大家直接拿來用就可以。本文章只是說下關於上傳原理和簡單的上傳操作,老鳥就無視了哈 舉例單檔案上傳,多檔案原理還是不變,只不過多了點小技巧 上傳檔案 input type file name file input type submit value ...

PHP上傳原理及操作實現

關於php上傳檔案的函式類庫,網上有許多封裝很完善,大家直接拿來用就可以。本文章只是說下關於上傳原理和簡單的上傳操作,老鳥就無視了哈 還有一些安全性判斷比如 服務端限制能接收型別的檔案,而客戶端惡意將病毒檔案的字尾名改為配型的檔案上傳。舉例單檔案上傳,多檔案原理還是不變,只不過多了點小技巧 inde...