반응형
웹 페이지를 통해 PHP 스크립트에 매개 변수를 전달하려면 어떻게합니까?
웹 페이지가로드 될 때마다 PHP 스크립트를 호출합니다. 그러나 PHP 스크립트를 실행 해야하는 매개 변수가 있습니다 (일반적으로 스크립트를 테스트 할 때 명령 줄을 통과합니다).
페이지가로드 될 때 스크립트가 실행될 때마다이 인수를 전달하려면 어떻게해야합니까?
아마도 다음과 같이 명령 행에서 인수를 전달할 것입니다.
php /path/to/wwwpublic/path/to/script.php arg1 arg2
... 그리고 스크립트에서 다음과 같이 액세스하십시오.
<?php
// $argv[0] is '/path/to/wwwpublic/path/to/script.php'
$argument1 = $argv[1];
$argument2 = $argv[2];
?>
HTTP를 통해 인수를 전달할 때 (웹을 통해 스크립트에 액세스) 수행 할 작업은 쿼리 문자열을 사용하고 $ _GET superglobal을 통해 액세스하는 것입니다.
http://yourdomain.com/path/to/script.php?argument1=arg1&argument2=arg2로 이동하십시오.
... 및 액세스 :
<?php
$argument1 = $_GET['argument1'];
$argument2 = $_GET['argument2'];
?>
스크립트를 호출하는 위치 (명령 줄 또는 브라우저)에 관계없이 스크립트를 실행하려면 다음과 같은 것이 필요합니다.
편집 : 의견에서 Cthulhu가 지적한 것처럼 실행중인 환경을 테스트하는 가장 직접적인 방법은 PHP_SAPI 상수 를 사용하는 것 입니다. 이에 따라 코드를 업데이트했습니다.
<?php
if (PHP_SAPI === 'cli') {
$argument1 = $argv[1];
$argument2 = $argv[2];
}
else {
$argument1 = $_GET['argument1'];
$argument2 = $_GET['argument2'];
}
?>
$argv[0]; // the script name
$argv[1]; // the first parameter
$argv[2]; // the second parameter
명령 줄 또는 브라우저에서 호출하는 위치에 관계없이 모든 스크립트를 실행하려면 다음과 같은 것이 필요합니다.
<?php
if ($_GET) {
$argument1 = $_GET['argument1'];
$argument2 = $_GET['argument2'];
} else {
$argument1 = $argv[1];
$argument2 = $argv[2];
}
?>
명령 줄에서 호출 chmod 755 /var/www/webroot/index.php
하여
/usr/bin/php /var/www/webroot/index.php arg1 arg2
브라우저에서 전화하려면
http://www.mydomain.com/index.php?argument1=arg1&argument2=arg2
반응형
'IT박스' 카테고리의 다른 글
특정 순서로 벡터에 따라 데이터 프레임 행 순서 (0) | 2020.06.23 |
---|---|
MySQL의 구분 기호 (0) | 2020.06.23 |
"양식이 연결되지 않아서 양식 제출이 취소되었습니다"오류가 발생 함 (0) | 2020.06.23 |
Android에서 JSON 객체 전송 및 구문 분석 (0) | 2020.06.23 |
GCC의 ## __ VA_ARGS__ 트릭에 대한 표준 대안? (0) | 2020.06.22 |