출처: http://mwultong.blogspot.com/2007/05/php-cli-argc-argv.html
PHP CLI (Command Line Interface) 에서는, 다른 프로그램들처럼 실행시 옵션을 지정해 줄 수 있습니다.
$argc 에는 옵션의 개수가 자동으로 저장되어 있고, $argv 에는 실제 옵션들이 문자열로 저장되어 있습니다. 다만 0번째 옵션은, PHP 파일 자신의 이름이기에, $argc 에서 빼기 1을 해주어야 정확한 옵션 개수가 구해집니다.
다음 예제는 PHP 버전 5 이상에서만 실행됩니다.
$argc, $argv: 실행시 옵션 구하기/출력 예제
소스 파일명: example.php
#!/usr/bin/php
<?php
if ($argc == 1) {
fwrite(STDERR, "옵션 없이 실행하셨군요.\n\n");
exit(1); // 운영체제에 에러코드 1을 반환하며 종료
}
echo "* 옵션 개수: " . ($argc - 1) . "\n\n\n";
print_r($argv);
// 일반 배열처럼 숫자를 첨자로 지정하면
// 각 옵션에 접근할 수 있음
echo "\n\n* 특정 옵션 출력: \$argv[1] = " . $argv[1] . "\n";
?>
<?php
if ($argc == 1) {
fwrite(STDERR, "옵션 없이 실행하셨군요.\n\n");
exit(1); // 운영체제에 에러코드 1을 반환하며 종료
}
echo "* 옵션 개수: " . ($argc - 1) . "\n\n\n";
print_r($argv);
// 일반 배열처럼 숫자를 첨자로 지정하면
// 각 옵션에 접근할 수 있음
echo "\n\n* 특정 옵션 출력: \$argv[1] = " . $argv[1] . "\n";
?>
실행 결과 화면:
D:\Z>php example.php
옵션 없이 실행하셨군요.
D:\Z>php example.php 111 222 333 뿡뿡이 똠방각하
* 옵션 개수: 5
Array
(
[0] => example.php
[1] => 111
[2] => 222
[3] => 333
[4] => 뿡뿡이
[5] => 똠방각하
)
* 특정 옵션 출력: $argv[1] = 111
D:\Z>example.php 111 222 333 뿡뿡이 똠방각하
옵션 없이 실행하셨군요.
D:\Z>
옵션 없이 실행하셨군요.
D:\Z>php example.php 111 222 333 뿡뿡이 똠방각하
* 옵션 개수: 5
Array
(
[0] => example.php
[1] => 111
[2] => 222
[3] => 333
[4] => 뿡뿡이
[5] => 똠방각하
)
* 특정 옵션 출력: $argv[1] = 111
D:\Z>example.php 111 222 333 뿡뿡이 똠방각하
옵션 없이 실행하셨군요.
D:\Z>
주의 사항: 위의 빨간 문자열 부분은 에러가 난 곳입니다. (편의상 빨갛게 표현했을 뿐 PHP 자체가 색깔을 출력한 것은 아님)
도스창 등에서 실행할 때, 파일명 앞에
php example.php 옵션들...
이렇게 php 를 붙여 주어야 합니다.
php 확장자의 파일을 php.exe 에 직접 연결하여
example.php 옵션들...
이렇게 실행하면, 현재 PHP 5는, 옵션을 제대로 인식하지 못합니다.
그리고 PHP를, Perl 같은 일반 스크립트 언어처럼 사용하는 것은 아직은 좀 무리가 있었습니다. 물론 계속 버전업이 되면 나아지겠지요.
'Dev > PHP' 카테고리의 다른 글
PHP에서 지원하는 OOP의 형태 (0) | 2011.05.14 |
---|---|
[PHP] 마법 메서드 (Magic Methods): __call(), __get(), __set(), __isset(), __unset() (0) | 2011.05.14 |
php5.3 에 ioncube 설치하기 (0) | 2011.05.13 |
컴파일 오류시 대처하기 (0) | 2011.05.13 |
php 컴파일에러 (0) | 2011.05.13 |