ملیکا غفوریان
2 سال پیش توسط ملیکا غفوریان مطرح شد
3 پاسخ

include در php

سلام
من داخل دریم ویور فایل هدر سایت رو includeکردم
ولی وقتی میرم داخل هدر کامل نشون میده و عکس ها رو هم نشون میده اما وقتی داخل index میرم همچیز رو نشون میده ولی عکسا رو نشون نمیده
اگر میشه جواب بدید😪😪


ثبت پرسش جدید
Banana Life
@shift.delete 2 سال پیش مطرح شد
0

سلام
طبق گفته هاتون احتمالا مشکل در قسمت مسیر عکس باشه از ایندکس یک اینسپکت بگیرید و مسیر عکس ها را تغییر بدید.


علی عالی نژاد
تخصص : برنامه نویس
@ali.aalinejhad 2 سال پیش مطرح شد
0

سلام دوست عزیز
مشکل در آدرس دهی شما می تواند باشد. دو لینک زیر را چک نمائید:
https://www.w3schools.com/php/php_includes.asp

https://stackoverflow.com/questions/2142961/php-include-path-problems

البته لینک دوم مفصل تر توضیح داده است.


نیما
تخصص : جوجه برنامه نویسی که میخواد فو...
@Nima.nori 2 سال پیش مطرح شد
0

به احتمال صدی به نود مشکل توی ادرس دهی هستش
یه مشکلی که خیلی از تازه کاره ها با require و include دارن اینه که نمی دنن یا بهشون یاد ندادن وقتی فایلی رو اینکلود یا ریکوایر می کنین اون فایل اجرا نمیشه یجورایی متنی که داخل اون فایل دارین توی مسیر فایلی که توش اینکلود کردین اجرا میشه پس نمیشه از مسیر دهی نسبی استفاده کرد
مثال👇👇
من یه پوشه دارم به نام lib و توش تمام کلاس ها و.. رو دارم توی اون پوشه یه فایل دارم به نام config.php که کارش اینه هر فایلی توی توی پوشه ی Lib دارم رو اینکلود کنه (البته چون این فایل ها کلاس هستند و ضروری بهتره از ریکوایر استفاده بشه)
کد فایل config.php

    <?php

const BASE_URL = 'https://localhost/weblog';

foreach (glob(__DIR__*.php') as $lib_file) {
    include_once($lib_file);
}

حالا بیرون پوشه یه فایل index .php می سازم و config.php رو inclode می کنم

<?php
inclode_once('lib/config.php');
// out put index.php incloded

حالا ما یه مشکل عجیب خواهیم داشت و اون اینه که به جای فایل های درون پوشه lib خود index,php قراره اینکلود بشه !!!! (چرا؟)
چون ما توی config.php مسیر دهیمون این بوده DIR که پوشه ی فایل اجرایی رو برمی گردونه و طبق نکته ای که بالاتر گفتم پوشه فایل index.php قراره بشه root پروژه که درون اون تنها فایلی که پسوند .php داره فایل ایندکس هست و اون رو اینکلود می کنه حالا ما این مشکل رو چطوری برطرف کنیم ؟
بله باید از مسیر دهی کامل استفاده کنیم
با این تفاسیر کد config .php این جوری خواهد شد

<?php

const BASE_URL = 'https://localhost/weblog';
define("ROOT_PATH","c:/laragon/www/weblog"));
// تو خط بالا من چون از لاراگون که یه ابزاره مثل زمپ استفاده می کنم روت پروژم اینه (به شماهم پیشنهادش می کنم خیلی خفنه)
foreach (glob(ROOT_PATH.'/lib/*.php') as $lib_file) {
    include_once($lib_file);
}

حالا همین قضیه ی فایل های .php رو توی فایل های .js یا .css هم دارم و برای اون ها هم از BASE_URL استفاده می کنیم جالبه بدونین فایل های css , js رو نمیشه با path فراخوانی کرد و باید یا از مسیر دهی نسبی (پیشنهاد نمیشه ارور زیاد داره یا فایل پیدا نمیشه ) یا از url استفاده کرد و مشکلات path رو url هم داره پس باید یدونه ثابت ساخت با نام BASE_URL تا همچی درست
اگه کمکت کرد بکوب رو بهترین پاسخ


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام