當前位置:首頁 » 編程語言 » phpparam

phpparam

發布時間: 2022-04-20 02:27:49

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代碼中getparam函數是什麼作用、返回值是什麼類型

1、功能:獲得查詢的指定參數的值。
2、語法:COleVariat GetParamValue(LPCTSTR lpszName); COleVariat GetParamValue(int nIndex)
3、參數:lpszName 參數值的名字,用於按名字查找。nIndex 查詢定義的參數收集中期望參數的基於零的索引。
4、返回值:包含這個參數值的類COleVariat的一個對象。說明:調用這個成員函數,可以獲取查詢定義參數集合中存儲的指定參數的當前值,可以用名字或者它在集合中的序號位置訪問這個參數。
5、示例:/************************************************************
演示函數原型:varParamValue=querydef. GetParamValue(「[FIELD]」);
程序功能說明:獲得指定的請求定義對象記錄的參數。
***********************************************************/
//定義CDaoDatabase對象的指針m_db
CDaoDatabase*m_db;
//定義查詢對象
CDaoQueryDef querydef(m_db);
//獲得查詢的指定參數的值
COleVariat varparamvalue=query.GetParamValue(「[FieldID]」);

③ 用php如何讀取地址欄的參數

使用超級全局變數$_GET可以訪問地址欄的參數,例如調用地址為:
abc.php?param=val123

$_GET['param']的值就是'val123'

④ php中如何給類規范的注釋

需要准備的材料分別是:電腦、phpstrom編輯器。

1、首先,打開phpstrom編輯器,新建php文件,例如:index.php,定義一個函數示例。

⑤ thinkphp request 和 param 的區別

request 默認可以接受$_GET,$_POST 和 $_COOKIE(這是php內置的),$_REQUEST(超全局變數),只是把值獲取到,但並不判斷是什麼類型的數據。
param 是thinkphp自己的類型,自動判斷是什麼類型的數據,接收即可。無論什麼類型都可以接受,包括php://input 這種原生數據流。

⑥ php偽靜態 和 php模板 區別在哪,怎樣做php偽靜態。

php偽靜態 是把你的鏈接改成 html後綴之類的,從鏈接上看起來像靜態的頁面。

php模板只是提供給php程序顯示數據的,php模板雖然可以是htm格式,但是在打開網頁的時候仍然是php格式的。

PHP實現偽靜態化頁面方法一:
在你的程序初始化時使用如下代碼:
<?php
$Php2Html_FileUrl = $_SERVER["REQUEST_URI"];
$Php2Html_UrlString = str_replace("/", "", strrchr($Php2Html_FileUrl, "/"));
$Php2Html_UrlQueryStrList = explode("@", $Php2Html_UrlString);
foreach($Php2Html_UrlQueryStrList as $Php2Html_UrlQueryStr)
{
$Php2Html_TmpArray = explode("|", $Php2Html_UrlQueryStr);
$_GET[$Php2Html_TmpArray[0]] = $Php2Html_TmpArray[1];
}
echo '假靜態:$_GET變數<br />';
print_r($_GET);
?>
然後php中調用$_GET變數就像平常一樣了。
連接使用方式:
****.php/param1|1234@param2|4321
和****.php?param1=1234?m2=4321一樣。
PHP實現偽靜態化頁面方法二:通過URL Rewrite實現鏈接靜態化
我們知道搜索引擎對於靜態頁面是非常友好的,因此很多網站通過生成靜態頁面等手段方便爬蟲抓取自己網站的內容。但是有時候一些應用並不適合全部靜態化,比如數據變化非常大的論壇/貼吧系統,這時候我們可以通過URL重寫來實現鏈接的偽靜態化,即網站對外使用靜態化的鏈接,而內部實際上仍然使用動態頁面的 URL形式。比如像這樣一個鏈接:http://www.ci123.com/abc.php?action=a&id=1,我們可以改寫成http://www.ci123.com/abc/a/1.html的形式。這是搜索引擎優化最重要的內容之一,它還有一個額外的好處,可以使頁面有一個永久鏈接,即便以後網站系統內部鏈接有變化,通過適當改變Rewrite規則就可以保證原先的外部URL一直有效。
下面介紹2種簡單的Apache+PHP下實現URL重寫的方法,第一種適合有伺服器配置許可權的用戶,第二種適合租用空間的用戶,也作為我近期的學習心得的整理。
1、對於有伺服器配置許可權的用戶,推薦使用Apache的mod_rewrite模塊,這里假設已經安裝好mod_rewrite模塊。打開Apache的配置文件,找到相應主機的部分,添加以下代碼:
RewriteEngine On RewriteRule ^/abc/([a-z]+)/([0-9]+).html$ /abc.php?action=$1&id=$2
然後在shell里執行service httpd reload,讓Apache重新載入配置就好了。現在在PHP頁面裡面我們可以把鏈接寫成 abc/a/1.html的形式,Apache在解析這個 URL的時候會rewrite成abc.php?action=a&id=1的形式,並返回正確的頁面。運用正則表達式我們可以實現幾乎任何我們想要的鏈接形式,mod_rewrite模塊的功能異常強大,這里只是一個及其簡單的應用。
2、對於租用空間的用戶,一般都沒有辦法修改Apache的配置,這里有個變通的方法,原理是這樣的:當要傳遞參數訪問PHP 頁面時,正常情況下是通過自動全局變數$_GET來獲得,比如上面的鏈接,在頁面里可以通過$_GET['action'] 和 $_GET['id'] 來獲得,重寫URL後就不行了。現在在每個頁面里require一個url_rewrite.php文件,裡面代碼如下:
$filename = basename($_SERVER['SCRIPT_NAME']);

if (strtolower($filename) == "abc.php"){
if (!empty($_GET[id])){
$id = intval($_GET[id]);
$action = intval($_GET[action]);
}
else {
$nav = $_SERVER["REQUEST_URI"];
$script = $_SERVER["SCRIPT_NAME"];
$nav = ereg_replace("^$script", "", urldecode($nav));
$vars = explode("/", $nav);
$action = intval($vars[1]);
$id = intval($vars[2]);
}
}
這樣$action和$id也得到了,頁面里鏈接可以寫成abc.php/a/1的形式來訪問相應頁面。
需要注意的是這種PHP實現偽靜態化頁面方法效率較第一種低,第一種方法是在WEB伺服器URL解析過程中實現的,而這里是在PHP頁面解析過程里實現的,第2種方法只是變通,不得已而為之,要修改鏈接形式很不方便也不靈活。

⑦ php的PDO類中bindValue和bindParam的區別

1、bindParam是綁定一個參數到指定的變數名
bindValue則是把一個值綁定到一個參數
2、bindParam第二個參數有且只能是一個變數名, 不能是一個具體的值
bindValue既可以綁定一個變數名,又可以綁定一個值
3、不同於 PDOStatement::bindValue(),PDOStatement::bindParam()中的變數作為引用被綁定,並只在 PDOStatement::execute() 被調用的時候才取其值

⑧ phpstorm 函數@param 怎麼寫

方法:setting-》FIle and Code Template-》Includes->PHP Function Doc
Comment,然後在這裡面設置就ok了,但是時間這些動態生成的,沒有找到怎麼弄,不支持像文件頭裡面的${DATE},如果有誰知道了,麻煩告知
下。
在方法中引入,直接/**+enter鍵

⑨ PHP中bind_param()問題

這個是pdo里的,不是mysqli的類
$db = new PDO("localhost","root","123456","password_test");
$stmt = $db->prepare("select id from logins where username=? and pswd=md5(?)");
$stmt->bind_param($username,$password);
$username = $_POST['username'];
$password = $_POST['password'];
$stmt->execute();
$stmt->store_result();

前提是你php配置文件里有pdo這個類,並且打開。

⑩ php 中 @param 什麼意思

php 中 @param是特定注釋格式,可以被phpdoc用來生成說明文檔
@param說明函數參數的類型是什麼

熱點內容
刷機安卓10狀態欄圓角如何修復 發布:2024-04-24 21:24:00 瀏覽:133
創建sql資料庫的命令是什麼 發布:2024-04-24 21:23:58 瀏覽:41
不是安卓該如何下載畫質怪獸 發布:2024-04-24 21:18:51 瀏覽:699
php載入網頁 發布:2024-04-24 21:15:20 瀏覽:159
遠程伺服器更換ip地址 發布:2024-04-24 21:14:43 瀏覽:526
什麼時候上線華為方舟編譯器軟體 發布:2024-04-24 21:10:21 瀏覽:629
安卓布局文件指的是哪個 發布:2024-04-24 21:08:05 瀏覽:887
磁帶存儲價格 發布:2024-04-24 21:04:22 瀏覽:900
誤刪除文件夾恢復工具 發布:2024-04-24 20:31:57 瀏覽:383
php介面編寫 發布:2024-04-24 20:31:06 瀏覽:68