PDA

View Full Version : آدرس دهی به دایرکتوری بالاتر



2undercover
دوشنبه 08 آبان 1391, 16:03 عصر
سلام.
فرض کنید یک برنامه در پوشه test که در پوشه index هست قرار دادیم حالا می خوایم یک اسکریپت رو که تو پوشه اصلی قرار داده رو تو برنامه پوشه test اینکلود کنیم.چون این اسکریپت تو دایرکتوری بالاتر قرار داره چه جوری باید آدرس دهی بشه؟؟؟

ـــــــــ

ممنون و موفق باشید!

mtchabok
دوشنبه 08 آبان 1391, 16:20 عصر
سلام
معمولا یه آدرسی رو به صورت ریشه برنامه درنظر گرفته میشه و تمامی آدرسهای دیگه نسبت به ریشه برنامه آدرس دهی میشن .
به عنوان مثال ما آدرس ریشه برنامه مون این هست : C:\site
خوب این آدرس رو در یک ثابت قرار میدیم ( من اسن ثابت رو ROOT میزارم )
حالا برای اینکه به آدرس C:\site\index\test\program.php دسترسی داشته باشیم به صورت زیر آدرس میدیم :

ROOT . '/index/test/program.php'

MMSHFE
سه شنبه 09 آبان 1391, 22:25 عصر
کلاً در آدرس دهی نسبی برای دسترسی به پوشه بالاتر از .. استفاده میشه. مثلاً اگه بخواین فایل config.php رو که در پوشه بالاتر هست فراخوانی کنید، باید بنویسید config.php/.. و به همین ترتیب، اگه مثلاً بخواین فایلی رو از دو پوشه بالاتر بخونید، باید بنویسید config.php/../.. و بطور کلی هرچقدر بخواین بسمت پوشه های بالاتر حرکت کنید، باید از .. استفاده کنید. البته راهی که دوستمون اشاره کردن (تعریف یک ثابت برای مسیر اصلی و ریشه سایت)، مناسبتر هست. موفق باشید.

amir-yazdel
دوشنبه 11 دی 1391, 11:53 صبح
سلام
تابعی وجود داره که آدرس ریشه سایت رو برگردونه؟
خوب اسکریپت ها ممکنه در هر سروری نصب بشه. نمیتونیم ثابت بزاریم که!!!

nsco_nsco
دوشنبه 11 دی 1391, 12:47 عصر
سلام می تونی بیای و در پایگاه داده شاخه رو ثبت کنی اگر عوض هم شد یا خواستی عوض کنی پایگاه داده رو ویرایش کنی موفق باشید

amir-yazdel
دوشنبه 11 دی 1391, 13:37 عصر
فرض بفرمایید میخوایم یک سی ام اس بنویسیم
یعنی وردپرس و جوملا و مامبو اینجوری آدرس دایرکتوری اصلی رو به دست میارن؟

mtchabok
دوشنبه 11 دی 1391, 14:06 عصر
سلام
بهترین شیوه برای آدرس دهی استفاده از ثابت هست
که می تونید یک فایل رو در ریشه سایتتون قرار بدین و کد زیر رو در فایل گنجانده و فایل رو در هر اسکریپتی صدا بزنید که منجر به ایجاد ثابت ، آدرس ریشه میشه

<?php
define('ROOT', dirname(__FILE__));
خوب چرا باید یک ثابت برای نگه داشتن آدرس ریشه استفاده بشه ؟
به دلیل مشخص نبود وضعیت include_path هست که دقیقا مشخص نیست که مسیرهای include درست تنظیم شده باشن به همین دلیل با یک ثابت آدرس ریشه میشه تمامی آدرسها رو به صورت کامل ، برای فراخوانی فایل مورد نظر ایجاد کرد .

MMSHFE
دوشنبه 11 دی 1391, 17:29 عصر
سلام
تابعی وجود داره که آدرس ریشه سایت رو برگردونه؟
خوب اسکریپت ها ممکنه در هر سروری نصب بشه. نمیتونیم ثابت بزاریم که!!!
چرا نمیتونیم؟ دوست عزیز، ثابت معناش این نیست که همیشه ثابته و نمیشه توی پروژه ها و سایتهای مختلف تغییرش بدیم. معناش اینه که وقتی تعریف شد، دیگه نمیشه تا پایان اسکریپت تغییرش داد. برای مثال این کد رو توی ابتدای فایل index.php بگذارین:

if(!defined('ROOT')) { define('ROOT', str_replace('\\', '/', dirname(__FILE__))); }
حالا ثابت ROOT آدرس پوشه حاوی index.php رو داره و روی هر هاستی کد رو اجرا کنید، مسیر همون هاست رو بهتون میده و اصلاً نیاز نیست کدتون رو تغییر بدین.
اگر هم منظورتون از آدرس، URL هست، اونهم راه حل داره (با استفاده از آرایه SERVER_$) ولی حتی اسکریپتهایی مثل Joomla و... هم موقع نصب ازتون URL اصلی سایت رو میپرسن و توی DB ذخیره میکنن تا هرجا لازم بود ازش استفاده کنن.

amir-yazdel
جمعه 09 فروردین 1392, 09:20 صبح
ممنون از راهنماییتون
(دکمه تشکر غیر فعال بود)