Saya memanggil skrip PHP setiap kali laman web dimuat. Namun, ada parameter yang harus dijalankan oleh skrip PHP (yang biasanya saya lewati melalui baris perintah saat saya menguji skrip).
Bagaimana saya bisa meneruskan argumen ini setiap kali skrip dijalankan ketika halaman dimuat?
php
parameters
Nick
sumber
sumber
Jawaban:
Agaknya Anda memberikan argumen pada baris perintah sebagai berikut:
... dan kemudian mengaksesnya dalam skrip dengan demikian:
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:
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:
sumber
empty($_GET)
.$_GET
adalah nilai yang telah ditentukan, jadi saya cukup yakin itu selalu ditetapkan, tetapi kosong jika tidak ada parameter GET yang ditetapkan.empty()
mengembalikanfalse
string dan array kosong.$_GET
sebenarnya tidak diatur jika skrip dipanggil dalam konteks baris perintah.empty()
akan menyebabkannya mencari argumen baris perintah jika skrip diakses dari web tanpa string kueri, sehingga melemparkan lebih banyak pemberitahuan.PHP_SAPI === 'cli'
..htaccess
adalah file Apache - Apache memproses permintaan masuk dengan arahan dalam.htaccess
dan kemudian memanggil PHP untuk membangun respons terhadap permintaan. Jadi, jika Anda berada di baris perintah,.htaccess
akan sepenuhnya diabaikan. Jika Anda mengakses skrip melalui web, dan Anda ingin menambahkan argumen querystring baru setelah menerima permintaan, itu biasanya dilakukan denganmod_rewrite
. Jika itu tidak cukup menjawab pertanyaan Anda, saya sarankan Anda mengirim pertanyaan baru.Jika Anda ingin semua skrip dijalankan terlepas dari mana Anda memanggilnya (baris perintah atau dari browser) Anda akan menginginkan sesuatu seperti berikut:
Untuk menelepon dari baris perintah
chmod 755 /var/www/webroot/index.php
dan menggunakanUntuk menelepon dari browser, gunakan
sumber