Rumah >pembangunan bahagian belakang >tutorial php >Mengapa PHP Saya Termasuk Gagal Walaupun Laluan Sertakan Yang Nampak Betul?
Menyelesaikan Isu Laluan untuk PHP Include
Dalam senario yang disediakan, skrip PHP dalam laluan /root/update/test.php cuba untuk memasukkan fail connect.php dalam /root/connect.php. Walaupun masukkan dalam test.php berjaya, masukkan seterusnya dalam connect.php gagal untuk mengesan fail config.php yang diperlukan.
Kekeliruan timbul daripada fakta bahawa laluan sertakan dalam test.php ditetapkan kepada . :/root, mencadangkan bahawa connect.php harus mencari config.php dalam direktori kerja semasa dan direktori /root. Walau bagaimanapun, mesej ralat menunjukkan bahawa connect.php sebenarnya cuba memasukkan fail daripada direktorinya sendiri, di mana config.php tidak wujud.
Untuk menyelesaikan isu ini, seseorang boleh menggunakan pendekatan alternatif untuk menentukan yang diperlukan laluan fail.
Satu penyelesaian ialah menggunakan pemalar ajaib PHP __DIR__, yang mewakili direktori fail semasa. Dengan menggabungkan dirname(__DIR__) dengan nama fail yang diingini, seseorang boleh menaikkan struktur direktori dan mengakses fail yang diperlukan. Dalam kes ini, kod yang diubah suai dalam test.php ialah:
include(dirname(__DIR__).'/config.php');
Kaedah lain ialah mentakrifkan laluan akar menggunakan dirname(__DIR__) dan menyimpannya dalam pembolehubah malar. Laluan akar ini kemudiannya boleh digunakan untuk membina laluan termasuk yang diperlukan. Begini rupanya dalam test.php:
define('ROOT_PATH', dirname(__DIR__) . '/'); include(ROOT_PATH.'config.php');
Dengan menggunakan pendekatan yang disemak ini, skrip PHP akan berjaya menyertakan fail yang diperlukan tanpa mengira struktur fail atau persekitaran penggunaan ia beroperasi.
Atas ialah kandungan terperinci Mengapa PHP Saya Termasuk Gagal Walaupun Laluan Sertakan Yang Nampak Betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!