Muhtemelen argümanları komut satırında aşağıdaki gibi aktarıyorsunuz:
php /path/to/wwwpublic/path/to/script.php arg1 arg2
... ve daha sonra senaryoda bunlara erişerek:
<?php
// $argv[0] is '/path/to/wwwpublic/path/to/script.php'
$argument1 = $argv[1];
$argument2 = $argv[2];
?>
HTTP üzerinden argüman iletirken (komut dosyasına web üzerinden erişirken) yapmanız gereken şey, sorgu dizesini kullanmak ve bunlara $ _GET süper küresel aracılığıyla erişmektir:
Http://yourdomain.com/path/to/script.php?argument1=arg1&argument2=arg2 adresine gidin.
... ve erişim:
<?php
$argument1 = $_GET['argument1'];
$argument2 = $_GET['argument2'];
?>
Komut dosyasının nereden çağırdığınıza bakılmaksızın (komut satırı veya tarayıcıdan) çalışmasını istiyorsanız, aşağıdakine benzer bir şey istersiniz:
EDIT: Cthulhu tarafından belirtildiği gibi, hangi ortamda yürüttüğünüzü test etmenin en doğrudan yolu PHP_SAPI sabitini kullanmaktır . Kodu buna göre güncelledim:
<?php
if (PHP_SAPI === 'cli') {
$argument1 = $argv[1];
$argument2 = $argv[2];
}
else {
$argument1 = $_GET['argument1'];
$argument2 = $_GET['argument2'];
}
?>