Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menghantar Pembolehubah kepada Skrip PHP dari Baris Perintah?
Apabila melaksanakan skrip PHP daripada baris arahan, selalunya perlu menghantar pembolehubah. Walau bagaimanapun, percubaan untuk mencapai ini menggunakan kaedah $_GET tradisional (cth., php myfile.php?type=daily) boleh mengakibatkan ralat "Tidak dapat membuka fail input".
Ini kerana tatasusunan $_GET lazimnya hanya boleh diakses apabila skrip dilaksanakan sebagai halaman web. Untuk mengendalikan pemindahan pembolehubah daripada baris arahan, kaedah alternatif mesti digunakan.
Apabila menjalankan skrip PHP daripada baris arahan, pembolehubah boleh dihantar menggunakan $argv tatasusunan. Tatasusunan ini mengandungi argumen yang disediakan selepas nama skrip. Contohnya, untuk menghantar pembolehubah type=daily, anda akan memanggil skrip seperti berikut:
php myfile.php daily
Dalam skrip PHP, anda boleh mendapatkan semula pembolehubah menggunakan $argv[1].
Jika skrip PHP bertujuan untuk kedua-dua web dan pelaksanaan baris arahan, anda boleh menyemak sama ada skrip dipanggil daripada baris arahan menggunakan pemalar STDIN. Coretan kod berikut menggambarkan ini:
if (defined('STDIN')) { $type = $argv[1]; } else { $type = $_GET['type']; }
Dalam contoh ini, jika skrip sedang dilaksanakan daripada baris arahan, pembolehubah jenis akan diambil daripada $argv[1]. Jika tidak, ia akan diambil daripada $_GET['type'].
Pilihan lain untuk menghantar pembolehubah daripada baris arahan ialah menggunakan skrip shell dan Wget . Ini boleh berguna jika anda perlu menghantar pembolehubah sebagai sebahagian daripada URL. Skrip shell berikut menunjukkan pendekatan ini:
#!/bin/sh wget http://location.to/myfile.php?type=daily
Dalam skrip ini, jenis pembolehubah=harian dihantar sebagai sebahagian daripada URL. Skrip kemudiannya boleh dipanggil dari cron untuk melaksanakan skrip PHP dengan pembolehubah yang ditentukan.
Atas ialah kandungan terperinci Bagaimana untuk Menghantar Pembolehubah kepada Skrip PHP dari Baris Perintah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!