欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php 輸入輸出流詳解及示例代碼

 更新時間:2016年08月25日 15:17:01   作者:撣塵  
本文主要介紹php 輸入輸出流,這里整理了相關(guān)資料及簡單示例代碼,有需要的小伙伴可以參考下

最近在學習http協(xié)議!為了更好理解http協(xié)議,看了一下nodejs的http的模塊!感覺收獲還是挺多的。比如我用http的request發(fā)一個請求:

var options = {
 host: 'localhost',
 port: 80,
 path: '/backbone/data.php',
 method: 'POST'
};


var req = http.request(options, function(res) {
 console.log('STATUS: ' + res.statusCode);
 console.log('HEADERS: ' + JSON.stringify(res.headers));
 res.setEncoding('utf8');
 res.on('data', function (chunk) {
  console.log('BODY: ' + chunk);
 });
});
// write data to request body
req.end('name=liuzhang&age=28');

上述代碼的意思是發(fā)送數(shù)據(jù)'name=liuzhang&age=28',回調(diào)是響應的對象,把服務器響應的數(shù)據(jù)打印出來!

data.php 代碼是

print_r($_POST);

打印傳過來的數(shù)據(jù)!

在命令行運行的結(jié)果是

可以看到Array是空,就是$_POST 沒有數(shù)據(jù),一開始我以為是數(shù)據(jù)沒有傳過來!但是我把后端data.php 改成

echo file_get_contents("php://input");

接收到了傳過來的數(shù)據(jù)!

php://input 是個可以訪問請求的原始數(shù)據(jù)的只讀流。 POST 請求的情況下,最好使用 php://input 來代替 $HTTP_RAW_POST_DATA,因為它不依賴于特定的 php.ini 指令。 而且,這樣的情況下 $HTTP_RAW_POST_DATA 默認沒有填充, 比激活 always_populate_raw_post_data 潛在需要更少的內(nèi)存。 enctype="multipart/form-data" 的時候 php://input 是無效的。

$_POST僅當數(shù)據(jù)按 application/x-www-form-urlencoded 類型提交時才能得到,form的enctype屬性為編碼方式,常用有兩種:application/x-www-form-urlencoded和multipart/form-data,默認為application/x-www-form-urlencoded。 當action為get時候,瀏覽器用x-www-form-urlencoded的編碼方式把form數(shù)據(jù)轉(zhuǎn)換成一個字串(name1=value1&name2=value2...),然后把這個字串a(chǎn)ppend到url后面,用?分割,加載這個新的url。 當action為post時候,瀏覽器把form數(shù)據(jù)封裝到http body中,然后發(fā)送到server。

當我們把發(fā)送options改成

var options = {
 host: 'localhost',
 port: 80,
 path: '/backbone/data.php',
 method: 'POST',
 headers : {'Content-Type': 'application/x-www-form-urlencoded'}
};

加上一個headers content-type 就可以用$_POST 接收到數(shù)據(jù)! 如果不是這種的form類型,你就可以用原始的輸入接收數(shù)據(jù)!

以上就是對PHP 輸入輸出流做的資料整理,后續(xù)繼續(xù)補充相關(guān)資料,謝謝大家對本站的支持!

相關(guān)文章

  • PHP配置把錯誤日志以郵件方式發(fā)送方法(Windows系統(tǒng))

    PHP配置把錯誤日志以郵件方式發(fā)送方法(Windows系統(tǒng))

    這篇文章主要介紹了PHP配置把錯誤日志以郵件方式發(fā)送方法(Windows系統(tǒng)),本文給出了配置示例和使用例子,需要的朋友可以參考下
    2015-06-06
  • thinkPHP內(nèi)置字符串截取函數(shù)用法詳解

    thinkPHP內(nèi)置字符串截取函數(shù)用法詳解

    這篇文章主要介紹了thinkPHP內(nèi)置字符串截取函數(shù)用法,結(jié)合實例形式分析了thinkPHP內(nèi)置的字符串截取函數(shù)功能與具體使用方法,以及針對無法添加省略號的源碼修改技巧,需要的朋友可以參考下
    2016-11-11
  • 服務器上配置PHP運行環(huán)境教程

    服務器上配置PHP運行環(huán)境教程

    這篇文章主要介紹了如何在服務器上配置PHP運行環(huán)境的方法及相關(guān)配置,十分全面,這里推薦給大家。
    2015-02-02
  • Laravel異常上下文解決方案分享

    Laravel異常上下文解決方案分享

    異常處理是編程中十分重要但也最容易被人忽視的語言特性,下面這篇文章主要給大家介紹了關(guān)于Laravel異常上下文解決方案的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-01-01
  • ThinkPHP中l(wèi)imit()使用方法詳解

    ThinkPHP中l(wèi)imit()使用方法詳解

    本文介紹ThinkPHP的limit()方法的用法。limit方法可以用于對數(shù)據(jù)庫操作的結(jié)果進行取指定范圍的條數(shù)。即相當于是在mysql查詢語句中的limit子句
    2016-04-04
  • php根據(jù)數(shù)據(jù)id自動生成編號的實現(xiàn)方法

    php根據(jù)數(shù)據(jù)id自動生成編號的實現(xiàn)方法

    下面小編就為大家?guī)硪黄猵hp根據(jù)數(shù)據(jù)id自動生成編號的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • PHP通用分頁類page.php[仿google分頁]

    PHP通用分頁類page.php[仿google分頁]

    PHP通用分頁類。本代碼是用于分頁用的,稍做修改可用于各種程序。 使用方式請參考本人文章。
    2008-08-08
  • PHP靜態(tài)調(diào)用非靜態(tài)方法的應用分析

    PHP靜態(tài)調(diào)用非靜態(tài)方法的應用分析

    本篇文章介紹了,PHP靜態(tài)調(diào)用非靜態(tài)方法的應用分析。需要的朋友參考下
    2013-05-05
  • Yii中創(chuàng)建自己的Widget實例

    Yii中創(chuàng)建自己的Widget實例

    這篇文章主要介紹了Yii中創(chuàng)建自己的Widget實現(xiàn)方法,結(jié)合具體實例形式較為詳細的分析了Yii中創(chuàng)建Widget的步驟與實現(xiàn)技巧,需要的朋友可以參考下
    2016-01-01
  • php并發(fā)加鎖示例

    php并發(fā)加鎖示例

    本文介紹了php并發(fā)加鎖示例,對數(shù)據(jù)進行加鎖,只容許一個用戶在一個時間內(nèi)進行操作,這個時候就需要用到鎖了,需要的朋友可以了解一下。
    2016-10-10

最新評論