Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Laluan Relative Include Berfungsi dalam Nested PHP Includes?
Memahami Laluan Termasuk Relatif PHP
Dalam PHP, laluan termasuk relatif boleh mengelirukan apabila berurusan dengan berbilang termasuk bersarang. Untuk menentukan laluan yang betul ke fail yang disertakan, adalah penting untuk memahami peraturan skop yang mengawalnya.
Apabila anda melaksanakan skrip PHP, direktori kerja semasa menjadi direktori tempat skrip itu berada. Ini berfungsi sebagai laluan asas untuk menyelesaikan laluan relatif yang dinyatakan dalam pernyataan include. Walau bagaimanapun, terdapat perbezaan yang perlu dibuat apabila menimbangkan termasuk bersarang.
Berkaitan dengan Skrip Utama
Apabila fail A.PHP termasuk fail B.PHP, yang seterusnya termasuk fail C.PHP, laluan relatif kepada C.PHP ditentukan berdasarkan lokasi A.PHP, bukan B.PHP. Ini kerana include() hanya memasukkan kandungan fail yang ditentukan ke dalam skrip yang sedang dijalankan.
Contoh:
// A.php is located at /var/www/html/ <?php include 'B.php'; ?> // B.php is located at /var/www/html/includes/ <?php include 'C.php'; ?> // C.php is located at /var/www/html/utils/
Dalam senario ini, laluan relatif kepada C.PHP ialah /var/www/html/utils/C.php, bukan /var/www/html/includes/utils/C.php.
Menggunakan FAIL untuk Laluan Relatif
Jika anda ingin menentukan laluan relatif berdasarkan lokasi fail yang membuat termasuk, anda boleh menggunakan pemalar __FILE__. Pemalar ini sentiasa menunjuk kepada fail sebenar di mana baris kod semasa berada, tanpa mengira direktori kerja semasa.
// Using __FILE__ in B.php <?php include(dirname(__FILE__)."/C.PHP"); ?>
Dalam kes ini, laluan relatif kepada C.PHP adalah daripada direktori yang mengandungi B .PHP.
Ingat bahawa laluan termasuk PHP sentiasa relatif kepada skrip utama. Dengan memanfaatkan __FILE__ atau memahami sifat hierarki laluan termasuk, anda boleh mengendalikan penyataan termasuk relatif dalam aplikasi PHP kompleks dengan yakin.
Atas ialah kandungan terperinci Bagaimanakah Laluan Relative Include Berfungsi dalam Nested PHP Includes?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!