Có lẽ bạn đang truyền các đối số trên dòng lệnh như sau:
php /path/to/wwwpublic/path/to/script.php arg1 arg2
... và sau đó truy cập chúng trong tập lệnh:
<?php
// $argv[0] is '/path/to/wwwpublic/path/to/script.php'
$argument1 = $argv[1];
$argument2 = $argv[2];
?>
Những gì bạn cần làm khi chuyển các đối số qua HTTP (truy cập tập lệnh qua web) là sử dụng chuỗi truy vấn và truy cập chúng thông qua siêu lớp $ _GET:
Tới http://yourdomain.com/path/to/script.php?argument1=arg1&argument2=arg2
... và truy cập:
<?php
$argument1 = $_GET['argument1'];
$argument2 = $_GET['argument2'];
?>
Nếu bạn muốn tập lệnh chạy bất kể bạn gọi nó từ đâu (dòng lệnh hoặc từ trình duyệt), bạn sẽ muốn một cái gì đó như sau:
EDIT: như được chỉ ra bởi Cthulhu trong các bình luận, cách trực tiếp nhất để kiểm tra môi trường nào bạn đang thực thi là sử dụng hằng số PHP_SAPI . Tôi đã cập nhật mã phù hợp:
<?php
if (PHP_SAPI === 'cli') {
$argument1 = $argv[1];
$argument2 = $argv[2];
}
else {
$argument1 = $_GET['argument1'];
$argument2 = $_GET['argument2'];
}
?>