PDA

View Full Version : سوال: مشکل در مسیر دهی در php



رامین مرادی
چهارشنبه 04 دی 1398, 12:19 عصر
سلام دوستان وقت بخیر.
من تازگیا دارم با php کار میکنم .برای کارهام فایلهایی درست کردم. مثلا برای قسمت ارتباط با دیتابیس یه فایلی به اسمdbconnect ساختم. برای هدر فایلی به نام header.php برای فوتر هم همچنین.
حالا برای فراخوانی اینا اومدم از این روش استفاده کردم که متاسفانه مسیرشون رو نمیشناسه
اینم تصویر مسیردهی فایلهام:
151173
اینم ثابتهام تو یه فایل و مسیردهی هاشون:

151174


اینم فایل ایندکسم که فراخوانی میکنم :

151175

خطایی که میده اینه :





Warning: include(/CityClean/includs/header.php): failed to open stream: No such file or directory in C:\xampp\htdocs\CleanCity\index.php on line 4

Warning: include(): Failed opening '/CityClean/includs/header.php' for inclusion (include_path='C:\xampp\php\PEAR') in C:\xampp\htdocs\CleanCity\index.php on line 4
خانه
Warning: include(./CityClean/includs/footer.php): failed to open stream: No such file or directory in C:\xampp\htdocs\CleanCity\index.php on line 8

Warning: include(): Failed opening './CityClean/includs/footer.php' for inclusion (include_path='C:\xampp\php\PEAR') in C:\xampp\htdocs\CleanCity\index.php on line 8



وقتی مثلا CityClean/includs/footer.php رو تو مرورگر بعد از لوکال هاست میزنم میاره یعنی مسیر درسته ولی نمیدونم چرا اینجا این خطا ظاهر میشه.:افسرده:

ASHKANLAEI
چهارشنبه 04 دی 1398, 12:44 عصر
دوست عزیز نمیدونم چطور آدرس براتون باز میشه چون برخی جا ها نوشتید CityClean و برخی جا ها نوشتید CleanCity

رامین مرادی
چهارشنبه 04 دی 1398, 12:53 عصر
دوست عزیز نمیدونم چطور آدرس براتون باز میشه چون برخی جا ها نوشتید CityClean و برخی جا ها نوشتید CleanCity

درسته تو این فایل اشتباه بود درستش CleanCity هست. اصلاحشم کردم ولی بازم همون خطا هست





Warning: include(./CleanCity/includs/header.php): failed to open stream: No such file or directory in C:\xampp\htdocs\CleanCity\index.php on line 4

Warning: include(): Failed opening './CleanCity/includs/header.php' for inclusion (include_path='C:\xampp\php\PEAR') in C:\xampp\htdocs\CleanCity\index.php on line 4
خانه
Warning: include(./CleanCity/includs/footer.php): failed to open stream: No such file or directory in C:\xampp\htdocs\CleanCity\index.php on line 8

Warning: include(): Failed opening './CleanCity/includs/footer.php' for inclusion (include_path='C:\xampp\php\PEAR') in C:\xampp\htdocs\CleanCity\index.php on line 8

ASHKANLAEI
چهارشنبه 04 دی 1398, 13:04 عصر
شما دارین از آدرس وابسته استفاده میکنید اما فایلتون (index.php) در کنار CleanCity نیست بلکه داخلش هست.
پس باید همۀ آدرس ها رو بجای /CleanCity/. با /. شروع کنید.

plague
چهارشنبه 04 دی 1398, 13:34 عصر
2 نوع آدرس دهی هست آدرسی دهی نسبی و مطلق
نسبی یعنی نسبت به مکانی که الان توش هستیم
مثلا اگه من ازت بپرسم آشپز خونه کجاست شما میگی درب سمت راست یعنی نسبت به این مکان فعلی که الان توش ایستادیم سمت راسته و اگه شما جات رو تغییر بدی دیگه این آدرس صحیح نخواهد بود
آدرس دهی مطلق یعنی نسبت یه مکان ثابت که ریشه همه مکان های موجوده آدرس بدیم
مثلا من میگم آشپزخونه از درب اصلی خونه که وارد بشی سمت راسته این آدرس دیگه همیشه ثابته و ما هرجای خونه باشیم این آدرس صحیح هستش و تغییر جای ما تاثیری نمیزاره روش





وقتی با ./ آدرس رو شروع میکنی یعنی داری آدرس نسبی میدی ... یعنی این آدرس نسبت به فایلی که توش کد رو نوشتی باید درست باشه
شما تو index داری


./CleanCity/includs/header.php


یعنی از اینجا برو تو فولدر CleanCity و .... به عبارت دیگه شما داری میگی توی فولدری که الان هستیم (فولدری که فایل index.php هست ) یه فولدر وجود داره به اسم CleanCity که برو توش
در حالی که فایل index خودش تو فولدر CleanCity هستش و همین الان تو این فولدر هستیم


بهترین روش اینه که از یک مکان ریشه شروع کنی و آدرس مطلق بدی که این مکان ریشه
C:\xampp\htdocs\

هستش که همه سایتا رو توش میریزی

این آدرس رو با

$_SERVER['DOCUMENT_ROOT']

میتونی بدست بیاری که تو کدت هم داریش و تو متغیر $g_site_root ریختیش

پس اینکلودت همچین چیزی میشه



define ( 'HEADER' , "$g_site_root/cleancity/includes/header.php" );


من ادرس ها رو همینجوری تایپ کردم و خودت دقت کن و آدرس صحیح با نام فولدر های صحیح رو وارد کن

رامین مرادی
پنج شنبه 05 دی 1398, 08:09 صبح
ممنون از هر دو بزرگوار :تشویق: حل شد.