PHP單檔案上傳(含封裝函式)

2021-08-07 10:47:04 字數 4375 閱讀 7878

1,demo.php

html>

<htmllang=

"en">

<head>

<metacharset=

"utf-8">

<title>檔案上傳title>

head>

<body>

<formaction=

"error2.php"method=

"post"enctype=

"multipart/form-data">

<span>請上傳您的檔案:

span>

<inputtype=

"file"name=

"myfile"/><br>

<inputtype=

"submit"value=

"上傳檔案"/><br>

form>

body>

html>

2,
error2.php

<?php 

header

('content-type:text/html;charset=utf-8');

//接收資料

$fileinfo

=$_files['myfile'];

$maxsize

=2097152;//

允許的最大值,

2m多少位元組

檢測是否是真實型別

//1,

判斷錯誤號

if($fileinfo['error']==

0) //3

,判斷上傳檔案的型別

//方法一:取到副檔名

$ext

=strtolower

(end

(explode

('.'

, $fileinfo['name'])));

//方法二:取到副檔名

$ext

=pathinfo

($fileinfo['name'],

pathinfo_extension

);if(!

in_array

($ext

, $allowext))

//4,

判斷檔案是否是通過

方式上傳的

if(!

is_uploaded_file

($fileinfo['tmp_name']))

//5,檢測是否為真實的型別

$flag

if($flag)

}//6,

檔案所在的位置

$path

='uploads'

;//7

,指定的目錄不存在的情況下,建立

if(!

file_exists

($path))

//8,確保檔名唯一

$uriname

=md5

(uniqid

(microtime

(true),

true)).

'.'.

$ext

;$destination

=$path

.'/'

.$uriname;//

上傳if(move_uploaded_file

($fileinfo['tmp_name'],

$destination))else

}else

}

3,封裝單檔案上傳函式

<?php

/**@

封裝單檔案上傳的函式

,檢測非法檔案型別

//2,判斷上傳檔案的大小

// $maxsize=2097152;//2m

if($fileinfo['size']>

$maxsize)

// 檢測是否為真實的型別

$flag

if($flag)

}// 3

,判斷檔案是否是通過

方式上傳的

if(!

is_uploaded_file

($fileinfo['tmp_name']))

//4,

上傳檔案

// $uploadpath='uploads';

if(!

file_exists

($uploadpath))

$uriname

=md5

(uniqid

(microtime

(true),

true)).

'.'.

$ext

;$destination

=$uploadpath

.'/'

.$uriname

;if(move_uploaded_file

($fileinfo['tmp_name'],

$destination))else

//返回的資訊

return array(

'newname'

=>

$destination

,'size'

=>

$fileinfo['size'],

'type'

=>

$fileinfo['type']

);}

4,使用封裝函式

//傳遞引數

$newname

=uploadfile($fileinfo

,'qw'

,'false'

,$allowext);

echo

$newname

;

php檔案上傳函式封裝

上傳檔案呼叫 file files image 允許上傳的型別 檔案的上傳 param array file 上傳的檔案的相關資訊 是乙個陣列有五個元素 param array allow 允許檔案上傳的型別 param string error 引用傳遞,用來記錄錯誤的資訊 param strin...

php封裝檔案上傳函式

created by phpstorm.user 17839 date 2020 3 23 time 10 54 header content type text html charset utf 8 檔案上傳 param file 接受的檔案 files file param mime 允許上傳檔...

PHP單檔案上傳原理及上傳函式的封裝操作示例

表單 0.php 無標題文件 單檔案上傳函式的封裝 00.php 檔案上傳原理 將客戶端的檔案上傳到伺服器端,再將伺服器端的臨時檔案移動到指定目錄即可。檔案的方向 客戶端 伺服器 臨時檔案 指定目錄,當檔案進入伺服器時它就是臨時檔案了,這時操作中要用臨時檔案的名稱tmp name。在客戶端設定上傳檔...