Apabila bekerja dengan PHP, sertakan laluan memainkan peranan penting dalam memasukkan fail luaran ke dalam kod anda. Tetapi menentukan lokasi relatif fail yang disertakan boleh membingungkan.
Pertimbangkan senario ini: anda mempunyai skrip PHP A.php yang termasuk B.php, yang seterusnya termasuk C.php. Timbul persoalan: patutkah laluan relatif ke C.php berdasarkan lokasi B.php atau A.php?
Jawapan:
Tidak seperti sesetengah bahasa pengaturcaraan , laluan termasuk PHP sentiasa relatif kepada skrip utama, dalam kes ini, A.php. Ini kerana fungsi include() pada asasnya membenamkan kod daripada fail yang disertakan ke dalam skrip semasa anda.
Sebab:
Mekanisme di sebalik include() adalah untuk bergabung kandungan fail lain ke dalam skrip semasa. Oleh itu, ia beroperasi semata-mata dalam konteks skrip utama, tanpa mengira fail lain yang mungkin disertakan sepanjang perjalanan.
Impak:
Ini bermakna fail tersebut include() dipanggil daripada tidak mempunyai kaitan dengan resolusi laluan. Direktori kerja semasa juga tidak relevan; laluan ditentukan semata-mata oleh lokasi skrip utama.
Pengecualian:
Jika anda secara khusus ingin menjadikan laluan itu relatif kepada fail yang disertakan, anda boleh menggunakan __FILE__ pemalar. Pemalar ini sentiasa menunjuk ke lokasi literal fail semasa, membolehkan anda mengira laluan ke fail yang disertakan secara dinamik.
Contoh:
Untuk memasukkan C.php berbanding B.php, anda boleh menggunakan:
include(dirname(__FILE__)."/C.PHP");
Atas ialah kandungan terperinci Bagaimanakah PHP Menyelesaikan Laluan Termasuk Relatif dalam Kemasukan Fail Bersarang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!