PHP表單數(shù)據(jù)處理與文件上傳

一、表單簡介

GET所有表單輸入的數(shù)據(jù)被加載到請求的URL地址后面昂利;
如:test.php?username=free&password=123&content=dfdsfsfd;
GET方式提交數(shù)據(jù)只能傳遞文本届腐,能夠提交的數(shù)據(jù)量大小有限,安全性差蜂奸。

POST提交數(shù)據(jù)的方式把表單的數(shù)據(jù)打包放入http請求中犁苏;
POST能夠提交更多的數(shù)據(jù);

表單提交的數(shù)據(jù)會自動封裝為數(shù)組扩所;
用$_GET, $_POST,或 $_REQUEST獲得表單提交的數(shù)據(jù);

多值表單控件(如復(fù)選框和多選框)围详,大大提高了基于web的數(shù)據(jù)收集能力;因為這些組件是多值得碌奉,所以表單處理函數(shù)必須能夠識別一個表單變量中可能有多個值短曾;為了讓php識別一個表單變量的多個值(即考慮為數(shù)組)寒砖,需要對表單名(元素的name屬性值)增加一對中括號,如:
<input type php ="checkbox"name="love[]"/>

二嫉拐、文件上傳的相關(guān)配置

1哩都、表單設(shè)置

要進(jìn)行文件的上傳,需要對form表單進(jìn)行特殊設(shè)置婉徘;

  • 設(shè)定表單數(shù)據(jù)的提交方式為POST方式漠嵌;
  • 給form表單添加enctype屬性值為:multipart/form-data;
  • 為了避免用戶避免用戶等待許久之后才發(fā)現(xiàn)上傳文件太大,可以在表單中添加MAX_FILE_SIZE隱藏域盖呼,通過設(shè)置器value值可以限制上傳文件的大腥迓埂;
form設(shè)置

2几晤、PHP設(shè)置

  • file_uploads是否允許通過HTTP上傳文件爷抓,默認(rèn)為NO;

  • upload_max_filesize 允許上傳文件大小的最大值捧搞,默認(rèn)為2M腹尖,此指令必須小于pose_max_size;

  • upload_tmp_dir指定上傳文件的臨時存放路徑憾朴,這個目錄對于擁有此服務(wù)器進(jìn)程的用戶必須是可寫的狸捕;如果未指定則使用系統(tǒng)默認(rèn)值;

  • post_max_size控制POST方式提交數(shù)據(jù)php所能夠接收的最大數(shù)據(jù)量众雷;

  • memory_limit指定單個腳本程序可以使用的最大內(nèi)存容量灸拍;

  • max_execution_time 此指令確定PHP腳本可以執(zhí)行的最長時間,以秒為單位砾省,默認(rèn)為30秒鸡岗;

三、$_FILES數(shù)組

$_FILES超全局變量作用是存儲各種與上傳文件有關(guān)的信息;

$_FILES是一個二維數(shù)組编兄,數(shù)組中共有5項:

  • $_FILES["userfile"]["name"] 上傳文件的名稱
  • $_FILES["userfile"]["type"] 上傳文件的類型
  • $_FILES["userfile"]["size"] 上傳文件的大小纤房,以字節(jié)為單位
  • $_FILES["userfile"]["tmp_name"] 文件上傳后在服務(wù)器端儲存臨時文件名
  • $_FILES["userfile"]["error"] 文件上傳相關(guān)的錯誤代碼

注意:userfile只是一個占位符,代表文件上傳表單元素的名字翻诉;因此這個值將根據(jù)你所給定的名稱有所不同炮姨;

四、上傳錯誤信息

$_FILES["userfile"]["error"] 提供了在文件上傳過程中出現(xiàn)的錯誤:

1碰煌、UPLOAD_ERR_OK(value = 0) 如果文件上傳成功返回0舒岸;

2、UPLOAD_ERR_INI_SIZE(value = 1) 如果試圖上傳的文件大小超過出了upload_max_filesize指令指定的值芦圾,則返回1蛾派;

3、UPLOAD_ERR_FORM_SIZE(value = 2) 如果試圖上傳的文件大小超過出了MAX_FILE_SIZE指令(可能嵌入在HTML表單中)指定的值,則返回2洪乍;

4眯杏、UPLOAD_ERR_PARTIAL(value = 3) 如果文件沒有完全上傳,則返回3壳澳;如網(wǎng)絡(luò)出現(xiàn)錯誤岂贩,導(dǎo)致上傳過程中斷;

5巷波、UPLOAD
_ERR_NO_FILE(value = 4) 如果用戶沒有指定上傳的文件就提交表單萎津,則返回4;

五抹镊、文件上傳函數(shù)

1锉屈、is_uploaded_file() 函數(shù)確定參數(shù)filename指定的文件是否使用HTTP POST上傳;

代碼示例

2垮耳、move_uploaded_file() 函數(shù)是將上傳文件從臨時目錄移動到目標(biāo)目錄颈渊;雖然copy()也可以實現(xiàn)同樣功能,但move_uploaded_file() 還提供了一種額外的功能终佛,它將檢查由filename輸入?yún)?shù)指定的文件確實是通過http post上傳機(jī)制上傳的儡炼。如果所指定的文件并非上傳文件,則移動失敗查蓉,返回false;

示例代碼

以上內(nèi)容純屬個人理解榜贴,由于本人水平有限豌研,若有錯漏之處,敬請指出斧正唬党,小弟不勝感激鹃共,謝謝!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末驶拱,一起剝皮案震驚了整個濱河市霜浴,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蓝纲,老刑警劉巖阴孟,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異税迷,居然都是意外死亡永丝,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進(jìn)店門箭养,熙熙樓的掌柜王于貴愁眉苦臉地迎上來慕嚷,“玉大人,你說我怎么就攤上這事『燃欤” “怎么了嗅辣?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長挠说。 經(jīng)常有香客問我,道長纺涤,這世上最難降的妖魔是什么译暂? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任外永,我火速辦了婚禮,結(jié)果婚禮上拧咳,老公的妹妹穿的比我還像新娘。我一直安慰自己骆膝,他們只是感情好祭衩,可當(dāng)我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布掐暮。 她就那樣靜靜地躺著,像睡著了一般政钟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上养交,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天,我揣著相機(jī)與錄音碎连,去河邊找鬼灰羽。 笑死鱼辙,一個胖子當(dāng)著我的面吹牛廉嚼,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播倒戏,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼前鹅,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了峭梳?” 一聲冷哼從身側(cè)響起舰绘,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤蹂喻,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后捂寿,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體口四,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年秦陋,在試婚紗的時候發(fā)現(xiàn)自己被綠了蔓彩。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡驳概,死狀恐怖赤嚼,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情顺又,我是刑警寧澤更卒,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站稚照,受9級特大地震影響蹂空,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜果录,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一上枕、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧弱恒,春花似錦辨萍、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至琉苇,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間悦施,已是汗流浹背并扇。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留抡诞,地道東北人穷蛹。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像昼汗,于是被迫代替她去往敵國和親肴熏。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內(nèi)容