2012-12-07 34 views
19

Tôi có một tệp có tên là address.php với một vài hàm trong đó. Tôi muốn gọi một chức năng cụ thể trong tập tin đó từ dòng lệnh, làm thế nào? Tên của hàm được gọi là hàm exportAddress và hàm đó mong đợi một tham sốGọi hàm php từ dòng lệnh

Trả lời

41

Bằng cách sử dụng tham số -r bạn có thể chạy tập lệnh trực tuyến.

php -r "require 'address.php'; exportAddress(12345);"

Không có tùy chọn nào khác. Một hàm trong PHP chỉ có thể được gọi bằng một kịch bản lệnh PHP.

+0

php --run "require 'address.php'; exportAddress (12345); "dễ nhớ khi gọi từ CLI – Tarik

1

php -r 'include "/var/www/test/address.php";exportAddress(1);'

nơi "/var/www/test/arr.php" là tên tập tin bao gồm cả đường dẫn và exportAddress() là chức năng bên trong tập tin đó

3

Thêm phần này vào phía trên cùng của tập tin "/var/www/test/address.php" ...

foreach ($argv as $i=>$arg) 
{ 
    if ($arg == "exportAddress") 
    { 
     exportAddress($argv[$i+1]); 
    } 
} 

sau đó từ dòng lệnh thực thi #> php /var/www/test/address.php exportAddress 12345

1

bạn có thể làm cho tập tin của bạn "somefile.php" tổ chức như sau:

function func1(){....} 
function func2(){....} 
function func3(){....} 
.... 
foreach ($argv AS $arg){ 
    function_exists($arg) AND call_user_func($arg); 
} 

Sau đó từ dòng lệnh hoặc Linux cronjob, bạn chạy lệnh sau

php /path/to/somefile.php arg1 arg2 arg3 ...