PHP Sertakan Laluan Relatif: Menyelesaikan Ralat Kemasukan Fail
Anda mempunyai dua fail, test.php dan connect.php, terletak di / root/kemas kini/ direktori. connect.php cuba memasukkan config.php daripada direktori /root/ menggunakan baris include "../config.php". Walau bagaimanapun, ini mengakibatkan ralat yang berkaitan dengan fail yang hilang.
Memahami Isu
Isu ini timbul kerana laluan sertakan yang ditetapkan dalam test.php (set_include_path(".: /root");) termasuk direktori semasa (.), tetapi bukan direktori induk (direktori /root/update/). Ini bermakna apabila connect.php cuba memasukkan config.php dengan laluan relatif ../config.php, ia mencarinya dalam direktori root(/root/), di mana ia tidak wujud.
Menyelesaikan Isu
Untuk menyelesaikan isu ini, anda mempunyai beberapa pilihan:
Anda boleh memasukkan fail menggunakan pemalar __DIR__, yang mewakili laluan mutlak ke direktori fail semasa. Dengan cara ini, anda boleh mengakses fail konfigurasi tanpa perlu menentukan laluan relatif:
include(dirname(__DIR__).'/config.php');
Anda boleh menentukan pemalar laluan akar untuk menentukan direktori akar untuk fail termasuk. Ini membolehkan anda menggunakan laluan relatif daripada direktori akar itu tanpa menyatakan laluan penuh:
define('ROOT_PATH', dirname(__DIR__) . '/'); include(ROOT_PATH.'config.php');
Sementara anda telah menyebut bahawa menggunakan laluan mutlak bukan pilihan, jika boleh, anda boleh menggunakan laluan mutlak untuk memasukkan fail terus:
include('/root/config.php');
Kesimpulan
Dengan menggunakan __DIR__, mentakrifkan laluan akar atau menggunakan laluan mutlak, anda boleh menyelesaikan isu kemasukan fail apabila menggunakan laluan relatif dalam skrip PHP anda.
Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Fail Dengan Betul Menggunakan Laluan Relatif dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!