首頁 後端開發 php教程 兩台電腦怎麼傳檔案 php上傳檔案的增強函數

兩台電腦怎麼傳檔案 php上傳檔案的增強函數

Jul 29, 2016 am 08:43 AM

表單中file對象,比如說$_FILES['doc'],$path為保存的路徑,$type為限制上傳的類型(他是一個數組,比如說限制上傳doc和docx和格式,那麼這個參數可以填array(“doc”,”.docx”),擴展名前有無”.”不作要求)。

複製程式碼 程式碼如下:


function upload($file,$path,$type) {
$state = array();
$state['error'] = "true";
$alltype = ""; // 所有可以上傳的類型,用"/"連接起來
$path = trim($path);
//為$path末尾加上"/"
if(strlen(strrchr($path,'/')) $path .= "/";
}
//為型別加上開頭“.”
//將所有型別合成字串,用"/"連接起來
foreach($type as $key=>$typeone){
$type[$key] = $typeone = trim($typeone);
if(strlen(strchr($typeone,"." )) != strlen($typeone)){
$type[$key] = ".".$typeone;}
$alltype .= $typeone.'/';
}
$alltype = substr($alltype,0,strlen($alltype)-1); //去掉最後的「/」
if(empty($file['name'])){
$state[ 'error'] = "沒有上傳{$alltype}類型檔案!";
$state['errorid'] = 8;
return $state;
} else {
if (!$ file['error']) {
$state['name'] = $file['name'];
$state['type'] = strrchr($state['name'],'. ');
if(in_array($state['type'],$type)){
$time = date("U");
$state['upname'] = $time. rand(1000,9999).$state['type']; //檔命名
if(copy($file['tmp_name'],$path.$state['upname'])){
$state['time'] = date("U"); //上傳的時間
$state['error'] = false;
return $state;
} else {
switch ($file('error')){
case 1: $state['error'] = $state['name']."上傳失敗,檔案大小超出了伺服器的空間大小! ";$state['errorid'] = 1;return $state;
case 2: $state['error'] = $state['name']."上傳失敗,要上傳的檔案大小超出瀏覽器限制! ";$state['errorid'] = 2;return $state;
case 3: $state['error'] = $state['name']."上傳失敗,檔案僅部分上傳! ";$state['errorid'] = 3;return $state;
case 4: $state['error'] = $state['name']."上傳失敗,找不到要上傳的檔案! ";$state['errorid'] = 4;return $state;
case 5: $state['error'] = $state['name']."上傳失敗,伺服器暫存資料夾遺失! ";$state['errorid'] = 5;return $state;
case 6: $state['error'] = $state['name']."上傳失敗,檔案寫入到暫存資料夾出錯! ";$state['errorid'] = 6;return $state;
default: $state['error'] = $state['name']."上傳失敗,位置錯誤! ";$state['errorid'] = 10;return $state;
}
}
} else {
$state['error'] = $state['name']."上傳失敗!不符合要上傳的文件類型! ({$alltype})";
$state['errorid'] = 10;
return $state;
}
}
}
?>


傳回值為一數組
$key value
error 錯誤詳情
errorid 錯誤id(出現錯誤才有值)
type 副檔名(副檔名前帶「.」)
upname 上傳的檔案名稱
time 上傳的時間(從Unix 紀元(1970-01-01 00:00)開始至今的秒數)
錯誤類型
errorid error
false //上傳成功
1 上傳失敗,檔案大小超出了伺服器的空間大小! >4 上傳失敗,沒有找到要上傳的檔案!
5 上傳失敗,伺服器臨時資料夾遺失! !
以上就介紹了兩台電腦怎麼傳檔案 php上傳檔案的增強函數,包含了兩台電腦怎麼傳檔案方面的內容,希望對PHP教學有興趣的朋友有所幫助。


本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

11個最佳PHP URL縮短腳本(免費和高級) 11個最佳PHP URL縮短腳本(免費和高級) Mar 03, 2025 am 10:49 AM

11個最佳PHP URL縮短腳本(免費和高級)

Instagram API簡介 Instagram API簡介 Mar 02, 2025 am 09:32 AM

Instagram API簡介

在Laravel中使用Flash會話數據 在Laravel中使用Flash會話數據 Mar 12, 2025 pm 05:08 PM

在Laravel中使用Flash會話數據

構建具有Laravel後端的React應用程序:第2部分,React 構建具有Laravel後端的React應用程序:第2部分,React Mar 04, 2025 am 09:33 AM

構建具有Laravel後端的React應用程序:第2部分,React

簡化的HTTP響應在Laravel測試中模擬了 簡化的HTTP響應在Laravel測試中模擬了 Mar 12, 2025 pm 05:09 PM

簡化的HTTP響應在Laravel測試中模擬了

php中的捲曲:如何在REST API中使用PHP捲曲擴展 php中的捲曲:如何在REST API中使用PHP捲曲擴展 Mar 14, 2025 am 11:42 AM

php中的捲曲:如何在REST API中使用PHP捲曲擴展

在Codecanyon上的12個最佳PHP聊天腳本 在Codecanyon上的12個最佳PHP聊天腳本 Mar 13, 2025 pm 12:08 PM

在Codecanyon上的12個最佳PHP聊天腳本

宣布 2025 年 PHP 形勢調查 宣布 2025 年 PHP 形勢調查 Mar 03, 2025 pm 04:20 PM

宣布 2025 年 PHP 形勢調查

See all articles