自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

PHP上傳文件之POST方法巧用

開發(fā) 后端
PHP是我們現(xiàn)在開發(fā)的主流語(yǔ)言之一,大家有時(shí)為遇到PHP上傳的問題,文章介紹了POST方法上傳,希望對(duì)大家有幫助。

學(xué)習(xí)PHP時(shí),你可能會(huì)遇到PHP上傳問題,這里將介紹PHP上傳問題的解決方法,在這里拿出來和大家分享一下。本特性可以使用戶上傳文本和二進(jìn)制文件。用 PHP 的認(rèn)證和文件操作函數(shù),可以完全控制允許哪些人上傳以及文件上傳后怎樣處理PHP上傳的文件。請(qǐng)注意 PHP 也支持 PUT 方法的文件上傳,Netscape Composer 和 W3C 的 Amaya 客戶端使用這種方法。

例子1. 文件上傳表單

可以如下建立一個(gè)特殊的表單來支持文件上傳:

  1. <!-- The data encoding type, enctype, MUST be specified as below --> 
  2. <form enctype="multipart/form-data" action="__URL__" method="POST"> 
  3. <!-- MAX_FILE_SIZE must precede the file input field --> 
  4. <input type="hidden" name="MAX_FILE_SIZE" value="30000" /> 
  5. <!-- Name of input element determines name in --> 

PHP上傳之POST方法上傳

本特性可以使用戶上傳文本和二進(jìn)制文件。用 PHP 的認(rèn)證和文件操作函數(shù),可以完全控制允許哪些人上傳以及文件上傳后怎樣處理。PHP 能夠接受任何來自符合 RFC-1867 標(biāo)準(zhǔn)的瀏覽器(包括 Netscape Navigator 3 及更高版本,打了補(bǔ)丁的 Microsoft Internet Explorer 3 或者更高版本)上傳的文件。請(qǐng)注意 PHP 也支持 PUT 方法的文件上傳,Netscape Composer 和 W3C 的 Amaya 客戶端使用這種方法。

例子2. 文件上傳表單

可以如下建立一個(gè)特殊的表單來支持文件上傳:

  1. ___FCKpd___0 

以上范例中的 __URL__ 應(yīng)該被換掉,指向一個(gè)真實(shí)的 PHP 文件。

#T#MAX_FILE_SIZE 隱藏字段(單位為字節(jié))必須放在文件輸入字段之前,其值為接收文件的最大尺寸。這是對(duì)瀏覽器的一個(gè)建議,PHP 也會(huì)檢查此項(xiàng)。在瀏覽器端可以簡(jiǎn)單繞過此設(shè)置,因此不要指望用此特性來阻擋大文件。實(shí)際上,PHP 設(shè)置中的上傳文件最大值是不會(huì)失效的。但是最好還是在表單中加上此項(xiàng)目,因?yàn)樗梢员苊庥脩粼诨〞r(shí)間等待上傳大文件之后才發(fā)現(xiàn)文件過大上傳失敗的麻煩。注: 要確保文件上傳表單的屬性是 enctype="multipart/form-data",否則文件上傳不了。

全局變量 $_FILES 自 PHP 4.1.0 起存在(在更早的版本中用 $HTTP_POST_FILES 替代)。此數(shù)組包含有所有上傳的文件信息。以上范例中 $_FILES 數(shù)組的內(nèi)容如下所示。我們假設(shè)文件上傳字段的名稱如上例所示,為 userfile。名稱可隨意命名。

  1. $_FILES['userfile']['name'] 

客戶端機(jī)器文件的原名稱。

  1. $_FILES['userfile']['type'] 

文件的 MIME 類型,如果瀏覽器提供此信息的話。一個(gè)例子是“image/gif”。不過此 MIME 類型在 PHP 端并不檢查,因此不要想當(dāng)然認(rèn)為有這個(gè)值。

  1. $_FILES['userfile']['size'] 

已上傳文件的大小,單位為字節(jié)。

  1. $_FILES['userfile']['tmp_name'] 

文件被上傳后在服務(wù)端儲(chǔ)存的臨時(shí)文件名。

  1. $_FILES['userfile']['error'] 

和該文件上傳相關(guān)的錯(cuò)誤代碼。此項(xiàng)目是在 PHP 4.2.0 版本中增加的。文件被上傳后,默認(rèn)地會(huì)被儲(chǔ)存到服務(wù)端的默認(rèn)臨時(shí)目錄中,除非 php.ini 中的 upload_tmp_dir 設(shè)置為其它的路徑。服務(wù)端的默認(rèn)臨時(shí)目錄可以通過更改 PHP 運(yùn)行環(huán)境的環(huán)境變量 TMPDIR 來重新設(shè)置,但是在 PHP 腳本內(nèi)部通過運(yùn)行 putenv() 函數(shù)來設(shè)置是不起作用的。該環(huán)境變量也可以用來確認(rèn)其它的操作也是在上傳的文件上進(jìn)行的。

責(zé)任編輯:田樹 來源: 博客
相關(guān)推薦

2009-11-16 14:38:36

PHP上傳文件代碼

2022-07-04 11:06:02

文件上傳權(quán)限網(wǎng)站

2009-11-16 14:15:51

PHP上傳多個(gè)文件

2009-11-16 13:57:21

PHP上傳文件

2009-11-16 10:40:02

PHP上傳文件代碼

2009-11-16 09:35:42

PHP上傳

2009-11-16 11:41:19

PHP上傳大文件

2009-11-16 10:49:43

PHP上傳文件代碼

2015-10-27 11:06:51

PHPGETPOST

2015-08-06 13:33:22

PHPGETPOST

2009-11-17 17:17:50

PHP上傳多個(gè)文件

2009-11-16 10:25:40

PHP上傳文件

2009-11-24 13:15:35

Zend框架PHP上傳文件

2009-11-16 10:16:24

PHP文件上傳

2009-11-24 15:50:09

PHP上傳類uploa

2011-07-06 14:21:15

ASP

2009-11-24 15:01:59

PHP通用文件上傳類

2009-11-16 10:57:51

PHP上傳文件代碼

2012-04-12 16:05:50

2009-11-16 12:17:46

PHP上傳文件類型
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)