بارگذاری فایل های ریشه در مدیریت
سلام. شاید عنوان مناسبی انتخاب نکرده باشم. اما چیز بهتری به ذهنم نرسید.
من در حال ایجاد یک فروشگاه هستم. که قسمت کاربری اون تا حدودی درست شده. حالا بتازگی قصد دارم بخش مدیریت اون رو طراحی کنم.
من یک پوشه به نام admin ایجاد کردم. و امدم داخل این پوشه یک روتینگ جدید ایجاد کردم. روتینگی مجزا از بخش کاربری و ...
یعنی خود مدیریت یک mvc کاملا جدایی داره و ....
حالا من در پوشه system رییشه سایت چندین کلاس دارم که برام مهم هستند و قصد دارم در پوشه مدیریت نیز به اونها دسترسی داشته باشم. یعنی بتونم اونها رو Require کنم و استفاده کنم....
اما از اونجایی که پوشه ادمین من یک روتینگ مجزا داره، ریشه من در ادمین میشه shop/admin و اجازه نمیده به محتواتی که در shop هست دسترسی داشته باشم :(
نمی دونم منظورم رو تونستم بدرستی برسونم یا نه، اما کد زیر رو نگاه کنید:
$path_loader = getcwd() .'/system/loader.php';
echo $path_loader . '</br>';
خروجی این کد هست:
F:\works\shop\admin/system/loader.php
حالا وقتی همین کد رو به شکل زیر تغییر میدم
$path_loader = getcwd() .'/system/loader.php';
echo $path_loader . '</br>';
$path_loader = str_replace('admin/','',$path_loader);
echo $path_loader;
موفق میشم به فایل loader دسترسی پیدا کنم. اما .. اما! مشکل اینه که داخل فایل لودر من همچنین کدی درج کردم:
require_once(getcwd() . '/config.php');
و وقتی از طرف فایل index.php این فایل داره صدا زده میشه این خطا داد میشه:
( ! ) Fatal error: require_once(): Failed opening required 'F:\works\shop\admin/config.php' (include_path='.;C:\php\pear') in F:\works\shop\system\loader.php on line 3
توی پوشه admin یک فایل loader درست کنید ، و این فایل رو در index موجود در پوشه admin صدا بزنید.
در این فایل loader ی که درست کردید ، مسیرهارو نسبی قرار بدید ؛ یعنی از getcwd استفاده نکنید و به این صورت نسبی مسیر بدید. مثلا :
require_once('../config.php');
مهرداد عزیز، روشی که فرمودید رو تست کردم و متاسفانه نشد.
شاید این نکته رو من باید می گفتم و نگفتم که محتویات فایل htaccess پوشه admin من به شکل زیر هست:
Options -indexes
RewriteEngine On
RewriteBase '/shop/admin/'
RewriteCond %{REQUEST_URI} !\.(jpg|png|css|js|html|gif|eot|ttf|woff|svg|otf)$
RewriteRule .* index.php [L]
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
