本文目錄一覽:
PHP接受命令參數
通常PHP都做http方式請求了,可以使用GET or
POST方式接收參數,有些時候需要在shell命令下把PHP當作腳本執行,比如定時任務。這就涉及到在shell命令下如何給php傳參的問題,通常有三種方式傳參。
一、使用$argv
or $argc參數接收
複製代碼
代碼如下:
?php
/**
* 使用 $argc $argv
接受參數
*/
echo “接收到{$argc}個參數”;
print_r($argv);
執行
複製代碼
代碼如下:
[root@DELL113 lee]# /usr/local/php/bin/php
test.php
接收到1個參數Array
(
[0] = test.php
)
[root@DELL113
lee]# /usr/local/php/bin/php test.php a b c d
接收到5個參數Array
(
[0]
= test.php
[1] = a
[2] = b
[3] = c
[4] = d
)
[root@DELL113
lee]#
二、使用getopt函數
複製代碼
代碼如下:
?php
/**
* 使用
getopt函數
*/
$param_arr =
getopt(‘a:b:’);
print_r($param_arr);
執行
複製代碼
代碼如下:
[root@DELL113 lee]# /usr/local/php/bin/php
test.php -a 345
Array
(
[a] = 345
)
[root@DELL113 lee]#
/usr/local/php/bin/php test.php -a 345 -b 12q3
Array
(
[a] =
345
[b] = 12q3
)
[root@DELL113 lee]# /usr/local/php/bin/php
test.php -a 345 -b 12q3 -e 3322ff
Array
(
[a] = 345
[b]
= 12q3
)
三、提示用戶輸入
複製代碼
代碼如下:
?php
/**
*
提示用戶輸入,類似Python
*/
fwrite(STDOUT,’請輸入您的博客名:’);
echo
‘您輸入的信息是:’.fgets(STDIN);
php如何接收別的伺服器post過來的數據 – 技術問答
通常情況下用戶使用瀏覽器網頁表單向伺服器post提交數據,我們使用PHP的$_POST接收用戶POST到伺服器的數據,並進行適當的處理。但有些情況下,如用戶使用客戶端軟體向服務端php程序發送post數據,而不能用$_POST來識別,那又該如何處理呢?
我們介紹php接受post數據的三種方式:
1.$_POST方式接收數據
$_POST方式是通過 HTTP POST 方法傳遞的變數組成的數組,是自動全局變數。如使用$_POST[『name』]就可以接收到網頁表單以及網頁非同步方式post過來的數據,
即$_POST只能接收文檔類型為Content-Type: application/x-www-form-urlencoded提交的數據,也就是表單POST過來的數據。
2.$GLOBALS[『HTTP_RAW_POST_DATA』]方式接收數據
但$GLOBALS[『HTTP_RAW_POST_DATA』]中是否保存POST過來的數據取決於centent-Type的設置,只有在PHP在無法識別的Content-Type的情況下,才會將POST過來的數據原樣地填入變數$GLOBALS[『HTTP_RAW_POST_DATA』]中,像Content-Type=application/x-www-form-urlencoded時,該變數是空的。
另外,它同樣無法讀取Content-Type為multipart/form-data的POST數據,也需要設置php.ini中的always_populate_raw_post_data值為On,PHP才會總把POST數據填入變數$http_raw_post_data。
3.php://input方式接收數據
如果訪問原始 POST 數據的更好方法是 php://input。php://input 允許讀取 POST 的原始數據。和 $HTTP_RAW_POST_DATA 比起來,它給內存帶來的壓力較小,並且不需要任何特殊的php.ini設置,php://input不能用於 enctype=」multipart/form-data」。對於未指定 Content-Type 的POST數據,則可以使用file_get_contents(「php://input」)來獲取原始數據。事實上,用PHP接收POST的任何數據都可以使用本方法。而不用考慮Content-Type,包括二進位文件流也可以。php://input讀取不到$_GET數據。是因為$
HTML怎麼接收PHP header傳過來的信息
接受POST請求用$_POST[‘表單name的值’]
接受GET請求用$_GET[‘表單name的值’]
接受所有請求用$_REQUEST[‘表單name的值’]
實例:
html:
form action=”php.php” method=”POST” input type=”text” name=”username” value=”你好”input type=”submit” value=”提交”/form
php:
?php$username = $_POST[‘username’]; echo “你輸入的值為:”.$username;//這裡會輸出 你輸入的值為:你好?
希望對你有幫助
PHP怎麼接收數據
三中接受方式:
$_GET //get過來的數據
$_POST //post過來的數據
file_get_contents(“php://input”) //介面過來的xml等字元串數據用這個接
這三個方法足以接受任何數據了,具體你還要百度一下用法
原創文章,作者:JWISW,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/324473.html