source

웹 페이지를 통해 파라미터를 PHP 스크립트로 전달하려면 어떻게 해야 합니까?

manycodes 2022. 11. 26. 13:57
반응형

웹 페이지를 통해 파라미터를 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.example/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.example/index.php?argument1=arg1&argument2=arg2

언급URL : https://stackoverflow.com/questions/9612166/how-do-i-pass-parameters-into-a-php-script-through-a-webpage

반응형