Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk mengubah suai laluan mutlak php (tiga kaedah)
Dalam proses membangunkan tapak web atau aplikasi menggunakan PHP, kita selalunya perlu merujuk fail atau sumber luaran. Pada masa ini, anda perlu menggunakan laluan mutlak untuk memastikan ketepatan kod. Walau bagaimanapun, kadangkala laluan mutlak kami perlu diubah Contohnya, apabila tapak web kami dipindahkan dari pelayan tempatan ke pelayan jauh, atau apabila lokasi penyimpanan fail ditukar, laluan mutlak perlu diubah suai dengan sewajarnya.
Berikut akan memperkenalkan cara mengubah suai laluan mutlak PHP.
1. Dapatkan laluan fail semasa
Sebelum mengubah suai laluan mutlak, kita perlu mendapatkan laluan mutlak fail semasa. Anda boleh menggunakan kod PHP berikut untuk mendapatkan laluan fail semasa:
$dir = dirname(__FILE__);
Antaranya, fungsi diname() digunakan untuk mengalih keluar maklumat laluan dalam nama fail, dan pemalar __FILE__ ialah digunakan untuk mendapatkan laluan penuh fail semasa. Selepas melaksanakan kod di atas, pembolehubah $dir ialah laluan fail semasa.
2. Ubah suai laluan mutlak
Selepas mendapatkan laluan fail semasa, kami boleh mengubah suai laluan mutlak mengikut cara yang disasarkan. Kaedah khusus adalah seperti berikut:
Mengubah suai laluan mutlak secara manual ialah kaedah yang paling mudah dan paling kurang disyorkan. Kita hanya perlu menukar laluan asal kepada laluan baharu. Sebagai contoh, laluan mutlak kami sebelum ini ialah:
/home/wwwroot/example.com/inc/config.php
Sekarang kita perlu mengalihkan fail ini ke:
/home/wwwroot/newsite.com/inc/config.php
Kita perlu menukar kod asal yang merujuk fail:
require_once "/home/wwwroot/example.com/inc/config.php";
Ubah suai kepada:
require_once "/home/wwwroot/newsite.com/inc/config.php";
Masalah kaedah ini ialah jika terdapat banyak laluan, atau tapak web kami dirujuk di beberapa tempat, ia akan memerlukan banyak pengubahsuaian kod, yang sangat menyusahkan. Lebih-lebih lagi, jika kita terlupa untuk mengubah suai laluan di suatu tempat, ia akan menyebabkan ralat dalam kod.
Berbanding dengan laluan mengubah suai secara manual, menggunakan laluan relatif adalah lebih mudah. Kita boleh menukar laluan mutlak kepada laluan relatif supaya walaupun fail dipindahkan ke lokasi lain, laluan itu tidak akan salah.
Mengambil contoh pada permulaan artikel ini sebagai contoh, kita boleh menukar laluan mutlak kepada laluan relatif melalui kaedah berikut:
$cur_path = dirname(__FILE__); $target_path = '/home/wwwroot/newsite.com/inc/config.php'; $rel_path = str_replace($cur_path, '', $target_path); if ($rel_path[0] == '/') { $rel_path = substr($rel_path, 1); }
Kod ini akan mengira kedudukan $config_file relatif kepada fail semasa. $rel_path ialah laluan relatif, kita hanya perlu menggunakan $rel_path untuk merujuk fail.
Kelebihan kaedah ini ialah walaupun lokasi fail atau struktur direktori tapak web diubah, kod masih boleh berjalan seperti biasa.
Jika tapak web kami menggunakan laluan yang sama di berbilang tempat, untuk memudahkan pengubahsuaian laluan mutlak, kami boleh menggunakan pemalar dan bukannya laluan. Pemalar ialah nilai tetap dalam PHP yang tidak berubah sepanjang pelaksanaan skrip.
Kaedah mentakrifkan pemalar adalah sangat mudah, cuma gunakan fungsi define():
define('ROOT_PATH', '/home/wwwroot/newsite.com');
Dengan cara ini, kita boleh menggunakan pemalar ROOT_PATH dan bukannya laluan mutlak. Sebagai contoh, kita perlu merujuk fail /config/config.php Kod asal yang merujuk fail itu ialah:
require_once "/home/wwwroot/newsite.com/config/config.php";
Sekarang, kita boleh menukarnya kepada:
require_once ROOT_PATH . '/config/config.php';Dengan cara ini, Walaupun kita perlu mengubah suai laluan mutlak, kita hanya perlu mengubah suai pemalar ROOT_PATH. RingkasanTidak sukar untuk mengubah suai laluan mutlak PHP Kita boleh mencapai matlamat dengan mengubah suainya secara manual, menggunakan laluan relatif atau menggunakan pemalar. Walau bagaimanapun, demi kebolehselenggaraan dan kebolehbacaan kod, kami mengesyorkan menggunakan laluan relatif atau pemalar dan bukannya laluan mutlak. Dengan cara ini, kod akan berjalan seperti biasa walaupun lokasi fail berubah.
Atas ialah kandungan terperinci Bagaimana untuk mengubah suai laluan mutlak php (tiga kaedah). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!