-- PHP

리눅스 프롬프트 상에서 PHP파일을 실행할 때 파라미터 받는 방법

어린왕자악꿍 2013. 4. 11. 15:56

리눅스 쉘 프롬프트에서 PHP파일을 실행하여 결과를 얻을 수 있다.

그런데 만약 PHP파일을 실행할 때 파라미터를 지정하여 실행하고 싶을 때는 어떻게 해야 할까?

먼저, 아래와 같이 PHP파일을 실행할 때 파라미터를 하나 지정하자.

 

shell$ php test.php param1

아래는 test.php에서 파라미터를 받는 예제이다.

<?php
    $argv = $_SERVER[argv];

    if ( count($argv) < 2) {
        print_r("parameter not found");
        exit;
    }

    print_r($argv[1]);
?>

C언어에서와 같이 파라미터를 argv 배열로 받아, 첫번째는 파일명, 두번째부터 파라미터 값을 가져올 수 있다.



추가) 2017-08-02


비슷하게 아래의 함수로도 구현이 가능하다.


func_num_args

func_get_args


<?php

function foo()

{

    $numargs = func_num_args();

    echo "Number of arguments: $numargs \n";

    if ($numargs >= 2) {

        echo "Second argument is: " . func_get_arg(1) . "\n";

    }

    $arg_list = func_get_args();

    for ($i = 0; $i < $numargs; $i++) {

        echo "Argument $i is: " . $arg_list[$i] . "\n";

    }

}


foo(1, 2, 3);

?>


출처 : http://php.net/manual/en/function.func-get-args.php