PDA

View Full Version : مشکل با آدرسی دهی require و include



مهدی اسماعیلی
پنج شنبه 04 مهر 1392, 21:31 عصر
سلام دوستان،
من از طریق دستور زیر ، یک فایل را require میکنم :

require dirname(dirname(__FILE__)).'\core\connect.inc.php' ;
توی local هم مشکلی ندارم
اما وقتی پروژه را روی هاست آپلود میکنم . . . این دستور کار نمیده !!!! و صفحه ی سفید میاد

مشکل از چی میتونه باشه ؟

خیلی ممنونم

MostafaEs3
پنج شنبه 04 مهر 1392, 21:41 عصر
//////////

مهدی اسماعیلی
جمعه 05 مهر 1392, 19:54 عصر
به اینصورت تست کنید (+define):


define('DIR_APPLICATION', str_replace('\\', '/', realpath(dirname(dirname(__FILE__)))) . '/');

البته استفاده از define فقط برای راحتی کار هستش.



define('DIR_APPLICATION', str_replace('\\', '/', realpath(dirname(dirname(__FILE__)))) . '/');
require (DIR_APPLICATION . 'core\connect.inc.php');

سلام
ممنون
متاسفانه این روش هم کار نداد . . .
روی xammp به درستی جواب میده
اما نمیدونم چرا هاست صفحه سفید میاد

دوستان ، لطفا راهنمایی کنید من تازه کار هستم ....

خیلی ممنون :قلب:

MostafaEs3
جمعه 05 مهر 1392, 20:25 عصر
//////////

MMSHFE
جمعه 05 مهر 1392, 23:19 عصر
دوست عزیز، سرور شما لینوکس هست و باید بجای \ از / استفاده کنید. دقت کنید که برای سازگاری صحیح، بهتره همیشه عادت کنید از / استفاده کنید که هم توی ویندوز کار میکنه و هم توی لینوکس. موفق باشید.

مهدی اسماعیلی
جمعه 05 مهر 1392, 23:25 عصر
دوست عزیز، سرور شما لینوکس هست و باید بجای \ از / استفاده کنید. دقت کنید که برای سازگاری صحیح، بهتره همیشه عادت کنید از / استفاده کنید که هم توی ویندوز کار میکنه و هم توی لینوکس. موفق باشید.
خیلی ممنون
بله ، هاست بنده لینوکس هست
اما از / هم استفاده کردم ... باز هم نشد :( همون صفحه سفید میاد


define('dirAppFunction', str_replace('\\', '/', realpath(dirname(dirname(__FILE__)))) . '/');
require (dirAppFunction . 'core/connect.inc.php');

فایل هم وجود داره ...
راهی دیگری برا آدرس دهی وجود نداره ؟؟

localhost/project/core/connect.inc.php

connct.inc.php را میخوام از فایل localhost/project/themes/default/functions.php آدرس دهی کنم

ممنون

shahriyar3
جمعه 05 مهر 1392, 23:32 عصر
برای ما که جواب میده '/'
راه زیاده میتونی 2 تا ../ بدی
میتونی


$_SERVER['DOCUMENT_ROOT']

بزاری بعدش بقیه آدرس و بدی.

MMSHFE
جمعه 05 مهر 1392, 23:39 عصر
اینو تست کنید:


if(!defined('ROOT')) { define('ROOT', str_replace('\\', '/', dirname(dirname(__FILE__)))); }
require ROOT . '/core/connect.inc.php';

abolfazl-z
شنبه 06 مهر 1392, 09:27 صبح
همانطور که آقا MostafaEs3 (http://barnamenevis.org/member.php?240106-MostafaEs3) گفتن خطا را بگذارید تا ببینیم مشکل از چیه !
اگر صفحه سفید اومد حتما یک فایل error_log در کنار همان اسکریپت ایجاد شده.
اگر نبود از همان روش آقا MostafaEs3 (http://barnamenevis.org/member.php?240106-MostafaEs3) استفاده کنید.
راستی اون ادرسی رو که می گذارید(در include) رو یک بار echo کنید و ببینید مشکلی در کد وجود ندارد.

imanitc
شنبه 06 مهر 1392, 13:26 عصر
ميتوني از
set_include_path استفاده کني برو به اين 2 تا آدرس يه سري بزن

http://php.net/manual/en/function.set-include-path.php

http://php.net/manual/en/ini.core.php