国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > PHP > 正文

PHP文件上傳

2019-11-11 07:25:02
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

先寫(xiě)好HTML

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body> <form action="save_img.php" enctype="mult注意<form>enctype必須為multipart/form-data,這樣才能文件上傳。<input type="hidden" name="MAX_FILE_SIZE" value="100000">指定文件上傳的大小?,F(xiàn)在看一下save_img.php文件

if($_FILES['userImg']['error'] > 0) { echo 'File upload failed, error code = '.$_FILES['userImg']['error']; exit;}echo "file type: ".$_FILES['userImg']['type'].'<br/>';$path = $_SERVER['DOCUMENT_ROOT'].'/../test/';$newFile = $path.$_FILES['userImg']['name'];if(file_exists($newFile)) { echo 'file is exist, upload failed;'; exit;}if(is_uploaded_file($_FILES['userImg']['tmp_name'])) { if(!move_uploaded_file($_FILES['userImg']['tmp_name'], $newFile)) { echo 'Could not move file to new path! You may not have permission;'; exit; }} else { echo 'Failed;'; exit;}

PHP代碼中,文件相關(guān)的數(shù)據(jù)保存在$_FILES超級(jí)全局?jǐn)?shù)組中。 對(duì)于HTML中的<input type="file" id="img" name="userImg">,我們可以再PHP中使用$_FILES['userImg']['xxx']來(lái)獲取該文件的信息(xxx自己填寫(xiě))。 1. $_FILES['userImg']['tmp_name']表示文件在web服務(wù)器中的臨時(shí)位置(腳本運(yùn)行結(jié)束時(shí)該文件會(huì)被刪除)。 2. $_FILES['userImg']['name']表示文件的名稱。 3. $_FILES['userImg']['size']表示文件的字節(jié)大小。 4. $_FILES['userImg']['type']表示文件的MIME類型。 5. $_FILES['userImg']['error']表示任何與文件上傳相關(guān)的錯(cuò)誤代碼。 相關(guān)錯(cuò)誤代碼 =>

UPLOAD_ERROR_OK 值為0,表示沒(méi)有發(fā)生錯(cuò)誤。UPLOAD_ERR_INI_SIZE值為1,表示上傳文件大小超出了約定值。文件最大值在php.iniupload_max_filesize中指定。UPLOAD_ERR_FORM_SIZE值為2,表示上傳文件的大小超過(guò)了HTML表單的MAX_FILE_SIZE所指定的最大值。UPLOAD_ERR_PARTIAL值為3,表示文件只部分上傳。UPLOAD_ERR_NO_FILE值為4,表示沒(méi)有上傳任何文件。UPLOAD_NO_TMP_DIR值為6,表示在php.ini文件中沒(méi)有指定臨時(shí)文件目錄。

UPLOAD_ERR_CANT_WRITE值為7,表示將文件寫(xiě)入磁盤失敗

現(xiàn)在繼續(xù)分析php代碼,$_FILES['userImg']['error'] > 0判斷文件是否上傳成功;$_SERVER['DOCUMENT_ROOT']獲得服務(wù)器的根目錄;$newFile = $path.$_FILES['userImg']['name'];給定文件最后存放的指定位置;file_exists($newFile)判斷文件是否已經(jīng)存在; is_uploaded_file($_FILES['userImg']['tmp_name'])判斷該文件是否為上傳文件(有可能惡意上傳的文件會(huì)導(dǎo)致訪問(wèn)不該訪問(wèn)的地方);move_uploaded_file($_FILES['userImg']['tmp_name'], $newFile)將臨時(shí)文件移動(dòng)到指定位置。

注意: linux下,用戶應(yīng)該有訪問(wèn)存放目錄的權(quán)限,可以設(shè)置其為777權(quán)限;


上一篇:PHP數(shù)組(二)

下一篇:PHP __call()方法

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 凌海市| 府谷县| 辰溪县| 读书| 江油市| 弥渡县| 朝阳县| 平舆县| 海原县| 二连浩特市| 麻城市| 丽江市| 古丈县| 赤壁市| 应城市| 合肥市| 新巴尔虎左旗| 伊川县| 乌兰察布市| 新竹县| 托克逊县| 东乡族自治县| 乌什县| 桃园市| 望江县| 静海县| 德安县| 临夏市| 唐海县| 铁岭市| 通渭县| 腾冲县| 瑞金市| 大城县| 西盟| 通海县| 冀州市| 鞍山市| 海丰县| 崇州市| 从江县|