Agaknya Anda memberikan argumen pada baris perintah sebagai berikut:
php /path/to/wwwpublic/path/to/script.php arg1 arg2
... dan kemudian mengaksesnya dalam skrip dengan demikian:
<?php
// $argv[0] is '/path/to/wwwpublic/path/to/script.php'
$argument1 = $argv[1];
$argument2 = $argv[2];
?>
Apa yang perlu Anda lakukan ketika meneruskan argumen melalui HTTP (mengakses skrip melalui web) menggunakan string kueri dan mengaksesnya melalui $ _GET superglobal:
Buka http://yourdomain.com/path/to/script.php?argument1=arg1&argument2=arg2
... dan akses:
<?php
$argument1 = $_GET['argument1'];
$argument2 = $_GET['argument2'];
?>
Jika Anda ingin skrip dijalankan terlepas dari mana Anda memanggilnya (baris perintah atau dari browser) Anda akan menginginkan sesuatu seperti berikut:
EDIT: seperti yang ditunjukkan oleh Cthulhu dalam komentar, cara paling langsung untuk menguji lingkungan yang Anda jalankan adalah dengan menggunakan konstanta PHP_SAPI . Saya telah memperbarui kode sesuai:
<?php
if (PHP_SAPI === 'cli') {
$argument1 = $argv[1];
$argument2 = $argv[2];
}
else {
$argument1 = $_GET['argument1'];
$argument2 = $_GET['argument2'];
}
?>