
2015-09-12 &nb→•'∑sp;| 發布者:梁國(guó)↕≤芳 | &nbs✔ α≥p;查看(kàn):3320次
php對(duì)于php://input介紹,PHP官方手冊文(wén)檔有(yǒ∑u)一(yī)段話(huà)對(duì)它進行(xíng)了( ≠&le)很(hěn)明(míng)确地(dì)概¶∑述:
“php://input allows yo✘φδ✔u to read raw POST data. It is✔ a less memory intensive alternative t✘©o $HTTP_RAW_POST_DATA and d ₹γ☆oes not need any special php.ini d" λirectives. php://input is ©≥not available with encty ♥πpe=”multipart/form-data&rdquo₹≠ ;.
翻譯過來(lái),是(shì)這(zhè)樣:
“php://input可(kě)以讀(dú)取沒有(y€>ǒu)處理(lǐ)過的(de)POST數₩→ (shù)據。相(xiàng)較于$HTTφ♥β₽P_RAW_POST_DATA而言,它給內(nèi)存帶來(lái)的(♣∑$de)壓力較小(xiǎo),并且不(bù)需要(y>←↕ào)特殊的(de)php.ini設置。php:/$δ/input不(bù)能(néng)用(yòng)于enct• ♣&ype=multipart/form-data&rdquo¶ε♠λ;
我們應該怎麽去(qù)理(lǐ)解這(zhè)段概述Ω₩呢(ne)?我把它劃分(fēn)為(wè¥πi)三部分(fēn),逐步去(qù)理(lǐ)解:
PHPer們一(yī)定很(hěn)熟悉$_POST這(zhè)個←→(gè)內(nèi)置變量。$_POST♣®÷ 與php://input存在哪些(xiē)關聯與區(qū)别呢(π>✘ne)?另外(wài),客戶端向服務端交互數(shù)據,最常用(yò♦ng)的(de)方法除了(le)POST之外(wài),還(hái)有(yǒuπ ∞")GET。既然php://input作(zuò)為×&π(wèi)PHP輸入流,它能(néng)讀α←→Ω(dú)取GET數(shù)據嗎(ma)?這(zh♦₩₩↕è)二個(gè)問(wèn)題正是(shì)我們這<↑(zhè)節需要(yào)探討(tǎo)的(de)主要(yào)內(nèi™♥)容。
這(zhè)也(yě)幫助我們理(lǐ)解了(♠©le),為(wèi)什(shén)麽xml_rpc服務端讀(dú₹₽)取數(shù)據都(dōu)是(shì)通(tōng)過file_get'♦_contents(‘php://input’, ∏→‘r’)。而不(bù)是(shε>ì)從(cóng)$_POST中讀(dú)取,正是(shì)因為(wèi)xm↔←l_rpc數(shù)據規格是(shì)xml,它的(de)Content-≤™Type是(shì)text/xml。
php://input碰到(dào)了(le)multipart/fo✔¥±§rm-data
上(shàng)傳文(wén)件(jiàn)的(de)時(shí)候,表單的(∑'de)寫法是(shì)這(zhè)樣的(de):