PDA

View Full Version : مشکل در require پی اچ پی



iAmirZ
جمعه 09 آبان 1393, 18:13 عصر
سلام

مشکل اینه به فرض ما فایل هامون این طوری هست

پوشه ها
فایل ها

admin
---------- admin.php
index.php
db.php

به فرض توی db.php به این صورت آدرس دهی می کنیم و توی ایندکس ازش استفاده می کنیم
require_once('includes/functions.php');

اگه بخوام فایل db.php را در admin.php استفاده کنیم با مشکل بر می خوریم
چون includes تویه پوشه admin نیست و باید به صورت ../ آدرس دهیش کنیم
اگه ../ آدرس دهی کنیم ، ایندکس به مشکل بر می خوره

نمی شه طوری نوشت که واسه هر2شون مشکلی پیش نیاد ؟

امیدوارم فهمیده باشید :لبخند:

arash691
جمعه 09 آبان 1393, 19:02 عصر
میتونید یکی از دو روش زیر رو استفاده کنید :

1 - وارد کردن ادرس هر پوشه مورد نظر درون خود PHP :

set_include_path(get_include_path() . PATH_SEPARATOR . 'مسیر فایل های مورد نظر');
حالا خود PHP ادرس مورد نظر فایل شما رو داره و دیگه نیازی نیست از ابتدا ادرس بدین و فقط کافیه شما require_once کنید نام فایل خودتون رو
2-استفاده از یک ادرس مرجع و ادرس دهی نسبت به اون به فایل های مورد نظرتون :
یک مقدار ثابت بنام ROOT تعریف می کنیم تو فایل config.php :

defined('ROOT') or define('ROOT', str_replace('\\', '/', dirname(__FILE__)) . '/');
بعدش بصورت زیر در هر پوشه ای که مورد نیاز است فراخوانی کنید :

require_once ROOT . 'inc/db.php';