最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP中模擬處理HTTP PUT請求的例子

 更新時間:2014年07月22日 10:49:27   投稿:junjie  
這篇文章主要介紹了PHP中模擬處理HTTP PUT請求的例子,PUT請求會把消息本體中的消息發(fā)送到一個URL,跟POST類似,需要的朋友可以參考下

關(guān)于HTTP PUT詳細介紹請參閱此文:http://www.fzitv.net/article/52515.htm。

PHP里有$_GET,$_POST,但是沒有$_PUT,所以如果需要使用它的話,則你不得不自己模擬一下:

復(fù)制代碼 代碼如下:

 $_PUT = array();
if ('PUT' == $_SERVER['REQUEST_METHOD']) {
     parse_str(file_get_contents('php://input'), $_PUT);
 }

通過php://input得到的數(shù)據(jù)是raw data,所以需要用parse_str解析一下。

不過需要說明的是,當(dāng)表單是enctype="multipart/form-data"類型的時候(就是上傳文件那種類型),這種方法是無效的(此時 php://input為空),一旦PHP發(fā)現(xiàn)請求的Content-Type是multipart/form-data,就會無條件的代你處理表單數(shù)據(jù),然后保存到$_FILES里,此時無法得到raw data,只能用一些偏門方法

以apache為例,修改httpd.conf(為了使用RequestHeader語法,請先激活header模塊):

復(fù)制代碼 代碼如下:

<Location "/demo.php">
     RequestHeader set Content-Type foobar
</Location>

通過重置Content-Type請求頭為foobar(只要不是multipart/form-data即可),此時php://input就有數(shù)據(jù)了,不過原本應(yīng)有的$_FILES數(shù)據(jù)卻不存在了,所以基本上只有演示上的意義,如果想得到raw data,只能自己根據(jù)數(shù)據(jù)生成,在PEAR里有類似的實現(xiàn):HTTP_Request2_MultipartBody。

瀏覽器一般只允許使用GET/POST方法,雖然可以通過JS來發(fā)送PUT方法,但是還得編寫代碼,相對而言,使用命令行下的CURL命令則顯得方便很多,在開發(fā)測試時很有用,所以學(xué)習(xí)一下還是必要的:

復(fù)制代碼 代碼如下:

curl -X PUT http://www.domain.com/demo.php -d "id=1" -d "title=a"

這樣就會通過PUT方法發(fā)送id, title數(shù)據(jù),測試時demo.php的代碼就類似上面的php://input。

相關(guān)文章

最新評論

堆龙德庆县| 宜丰县| 潮安县| 扎赉特旗| 新竹市| 深圳市| 宝坻区| 班戈县| 福州市| 乌拉特前旗| 长泰县| 中超| 杭锦旗| 白银市| 牟定县| 武川县| 麻城市| 湘阴县| 常熟市| 岑巩县| 阳春市| 宜宾县| 武义县| 交口县| 嘉荫县| 漳平市| 白水县| 呼玛县| 莲花县| 长宁县| 晋州市| 双峰县| 通山县| 铜川市| 青海省| 霍林郭勒市| 中超| 库尔勒市| 高阳县| 灵璧县| 同江市|