本文實例分析了php中$_POST與php://input的區別。分享給大家供大家參考。具體分析如下:
$_POST 與 php教程://input可以取到值,$HTTP_RAW_POST_DATA 為空
$_POST 以關聯數組方式組織提交的數據,並對此進行編碼處理,如urldecode,甚至編碼轉換
php://input 也可以實現此這個功能可以獲得POST的原始數據。
代碼
復制代碼 代碼如下:echo file_get_contents( "php://input ");
實例
復制代碼 代碼如下:<form action="post.php" method="post">
<input type="text" name="user">
<input type="password" name="password">
<input type="submit">
</form>
post.php
復制代碼 代碼如下:<? echo file_get_contents("php://input");?>
php://input 允許讀取 POST 的原始數據。和 $HTTP_RAW_POST_DATA 比起來,它給內存帶來的壓力較小,並且不需要任何特殊的 php.ini 設置。php://input 不能用於 enctype="multipart/form-data"。
php的$_POST:
$_POST 變量是一個數組,內容是由 HTTP POST 方法發送的變量名稱和值.
$_POST 變量用於收集來自 method="post" 的表單中的值,從帶有 POST 方法的表單發送的信息,對任何人都是不可見的(不會顯示在浏覽器的地址欄),並且對發送信息的量也沒有限制.
html
復制代碼 代碼如下:<form action="welcome.php" method="post">
Enter your name: <input type="text" name="name" />
Enter your age: <input type="text" name="age" />
<input type="submit" />
</form>
welcome.php
復制代碼 代碼如下:Welcome <?php echo $_POST["name"]; ?>.<br />
You are <?php echo $_POST["age"]; ?> years old!
通過 HTTP POST 發送的變量不會顯示在 URL 中,變量沒有長度限制.
希望本文所述對大家的php程序設計有所幫助。