Rumah >pembangunan bahagian belakang >tutorial php >Mengapa PHP Saya Termasuk Gagal dengan Laluan Relatif?

Mengapa PHP Saya Termasuk Gagal dengan Laluan Relatif?

Barbara Streisand
Barbara Streisandasal
2024-12-05 02:55:14599semak imbas

Why Does My PHP Include Fail with Relative Paths?

Keterangkuman dan Laluan Relatif dalam PHP

Memasukkan fail ke dalam skrip PHP adalah amalan biasa, tetapi menentukan laluan relatif kadangkala boleh membawa kepada perkara yang tidak dijangka kesilapan. Mari kita terokai kes di mana fail yang disertakan daripada subdirektori gagal mencari fail disertakan yang lain disebabkan kekeliruan laluan relatif.

Dalam contoh yang diberikan, skrip PHP yang terletak di /root/update/test.php cuba memasukkan fail lain, /root/connect.php. Kod dalam test.php termasuk connect.php menggunakan laluan relatif dan menentukan laluan include .:/root. Walau bagaimanapun, fail yang disertakan, connect.php, mengandungi pernyataan sertakan lain untuk fail yang dipanggil config.php menggunakan laluan relatif ../config.php.

Masalah timbul apabila test.php berjalan dan cuba untuk cari config.php menggunakan laluan relatif yang dinyatakan dalam connect.php. Walau bagaimanapun, laluan sertakan yang dinyatakan dalam test.php hanya sedalam satu tahap dan ia tidak boleh naik ke direktori induk untuk mencari config.php. Ini menghasilkan amaran yang menunjukkan bahawa fail tidak boleh disertakan.

Untuk menyelesaikan isu ini, pertimbangkan untuk menggunakan laluan mutlak untuk config.php dalam connect.php atau mengambil kesempatan daripada pemalar ajaib PHP. Sebagai contoh, menggunakan __DIR__ dalam connect.php memastikan bahawa config.php disertakan dari tahap direktori yang sama seperti connect.php:

include(dirname(__DIR__).'/config.php');

Sebagai alternatif, anda boleh menentukan laluan akar tetap untuk projek anda dan menggunakannya laluan dalam kedua-dua connect.php dan test.php:

// in connect.php
define('ROOT_PATH', dirname(__DIR__) . '/');
// in test.php
include(ROOT_PATH.'config.php');

Penyelesaian ini membolehkan laluan relatif berfungsi seperti yang dimaksudkan dan menyelesaikan ralat termasuk, membenarkan skrip PHP anda untuk memasukkan fail dari direktori berbeza dengan betul.

Atas ialah kandungan terperinci Mengapa PHP Saya Termasuk Gagal dengan Laluan Relatif?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn