如何命令列下執行指令碼及傳遞引數

2021-07-25 22:09:55 字數 2369 閱讀 6499

在命令列下執行指令碼:window下,假設php安裝目錄為c:\program files\php5\,那麼使用命令視窗進入到該路徑下,敲入php hello.php回車,則會執行當前路徑下的hello.php檔案,如果要指向其他路徑下php檔案,可以在php 路徑/hello.php ,這種形式稱為cli模式,我們平時通過瀏覽器看到的那種稱為cgi模式,至於傳遞引數,php檔案在cli模式下,直接通過在檔名稱後面接引數,多個引數中間用空格隔開,在php檔案裡面是通過兩個變數來獲取引數的,乙個是$argv,乙個是$argc,前者是傳遞引數的陣列,預設第乙個為php檔案的名稱;後者為$argv的陣列個數。

linux下,一般程式安裝都會安裝在/usr/bin/php下面,可以通過man php檢視一下,如果有資訊說明可以使用,使用方法類似於window下。如果前面這步成立,那麼你可以直接 php php檔案 來執行php檔案,如果man php沒有資訊,則說明當前php執行檔案沒有在環境路徑裡面,可以修改環境路徑包含php路徑,也可以類似於window進入php路徑,在執行 php php檔案。其他類似於window下。

php獲取引數的三種方法:

方法一 使用$argc $argv

[php]view plain

copy

<?php   

if ($argc > 1)   

在命令列下執行 /usr/local/php/bin/php ./getopt.php -f 123 -g 456

執行結果:

[php]view plain

copy

# /usr/local/php/bin/php ./getopt.php -f 123 -g 456  

array  

(  [0] => ./getopt.php  

[1] => -f  

[2] => 123  

[3] => -g  

[4] => 456  

)  

方法二 使用getopt函式()

getopt(string$options[, array$longopts] );

引數解析:

options

該字串中的每個字元會被當做選項字元,匹配傳入指令碼的選項以單個連字元(-)開頭。

比如,乙個選項字串 "x" 識別了乙個選項 -x。

只允許 a-z、a-z 和 0-9。

longopts

選項陣列。此陣列中的每個元素會被作為選項字串,匹配了以兩個連字元(--)傳入到指令碼的選項。

例如,長選項元素 "opt" 識別了乙個選項 --opt。

options可能包含了以下元素:

選項的值是字串後的第乙個引數。它不介意值之前是否有空格。

[php]view plain

copy

$options = "f:g:";  

$opts = getopt( $options );  

print_r($opts);   

在命令列下執行 /usr/local/php/bin/php ./getopt.php -f 123 -g 456

執行結果:

[php]view plain

copy

array  

(  [f] => 123  

[g] => 456  

)  

方法三 提示使用者輸入,然後獲取輸入的引數。有點像c語言

[php]view plain

copy

fwrite(stdout, "enter your name: ");  

$name = trim(fgets(stdin));  

fwrite(stdout, "hello, $name!");   

stdout -- 標準輸出裝置 (printf("..")) 同 stdout。

stderr -- 標準錯誤輸出裝置

兩者預設向螢幕輸出。

但如果用轉向標準輸出到磁碟檔案,則可看出兩者區別。stdout輸出到磁碟檔案,stderr在螢幕。

在命令列下執行 /usr/local/php/bin/php ./getopt.php

執行結果

[php]view plain

copy

enter your name: zhang //(zhang 為使用者輸入)

hello, zhang! 

如何使用Django 啟動命令列及執行指令碼

使用django啟動命令列和指令碼,可以方便的使用django框架做開發,例如,資料庫的操作等。下面分別介紹使用方法。django shell的啟動 啟動命令 print a 指令碼指令碼的路徑必須為 如下 coding utf 8 from django.core.management.base ...

如何在命令列下執行php指令碼以及傳遞引數

在命令列下執行指令碼 window下,假設php安裝目錄為c program files php5 那麼使用命令視窗進入到該路徑下,敲入php hello.php回車,則會執行當前路徑下的hello.php檔案,如果要指向其他路徑下php檔案,可以在php 路徑 hello.php 這種形式稱為cl...

如何在命令列下執行php指令碼以及傳遞引數

如果php加入了環境變數,如何檢視php版本 在命令列下執行指令碼 window下,假設php安裝目錄為c program files php5 那麼使用命令視窗進入到該路徑下,敲入php hello.php回車,則會執行當前路徑下的hello.php檔案,如果要指向其他路徑下php檔案,可以在ph...