• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
{حل شده}این مسیر دهی درسته؟
#1
هو،
سلام علیکم،

به نظرتون این نوع مسیر دهی درسته؟اگه نیست صحیحش چیه؟
کد پی‌اچ‌پی:
dirname(getcwd())."/inc/somefile.php 
یا زهرا س

اللهم صل علی محمد و آل محمد و عجل فرجهم

افلاطون را گفتند چرا هرگز غمگین نمیشوی؟
گفت :دل برآنچه نمی ماند،نمی بندم.
  پاسخ
تشکر شده توسط :
#2
بستگی داره. خروجی این دو رو با هم مقایسه کن:
کد پی‌اچ‌پی:
print getcwd();
print 
$_SERVER['DOCUMENT_ROOT'];

//khorooji: E:\Program Files\Wamp\www
#khorooji: E:/Program Files/Wamp/www 
بنظر خودت چه فرقی دارن؟ فقط DIRECTORY_SEPARATOR اونا (در لوکال) فرق می کنه. درسته؟ جداساز '/' مخصوص سرور یا آدرس های اینترنتی هست اما جداساز '\' برای سیستم عامل هست. و بنظر خودم getcwd() ویژه سرور نیست. البته خروجی هر دوشون در سرور یکسانه ولی چرا از این استفاده نمی کنی:
کد پی‌اچ‌پی:
$_SERVER['DOCUMENT_ROOT'] . '/inc/somefile.php'
غایب
  پاسخ
تشکر شده توسط : Goback
#3
بله به همین مشکل سپریتور برخوردم که اشاره کردی،البته برای فایل پی اچ پی جواب داد(یعنی همین بالایی،تستش کن) ولی برای اینکلود فایل css (فکر کنم چون اکو میشه) جواب نداد،برا همین پرسیدم،ببین من میخوام یه پوشه برم عقب،اینجوری:
کد پی‌اچ‌پی:
../inc/somefile.php 
یا به قول خودت اینجوری:
کد پی‌اچ‌پی:
$_SERVER['DOCUMENT_ROOT'] . '/inc/somefile.php'
میخوام ببینم راه دیگه ای هم هست؟یا اصلا اینا احیانا مشکل امنیتی ندارن!! یا رایجش چیه؟

اللهم صل علی محمد و آل محمد و عجل فرجهم

افلاطون را گفتند چرا هرگز غمگین نمیشوی؟
گفت :دل برآنچه نمی ماند،نمی بندم.
  پاسخ
تشکر شده توسط :
#4
برای اینکه بری عقب خب یه راه سادش اینه که از همون ".." استفاده کنی اما وقتی از $_SERVER['DOCUMENT_ROOT'] استفاده می کنی آدرس از اول داده میشه و اونوقت میتونی آدرس رو تعیین کنی. مثلاً من میخوام فایل a موجود در آدرس a/b/c رو باز کنم.
کد پی‌اچ‌پی:
$_SERVER['DOCUMENT_ROOT'] . 'a/b/c/a.php';
#ya mikham ye poshe biam aghab ava file x.php ro baz konam
$_SERVER['DOCUMENT_ROOT'] . 'a/b/x.php'
آدرس دهی اگر درست باشه نه چرا مشکل امنیتی ایجاد کنه؟ آدرس هرچقدر دقیق تر داده بشه و راه برای نفوذگر بسته بشه خب امنیتش بیشتره.
غایب
  پاسخ
تشکر شده توسط : Goback
#5
Angry

برادر جان! یکم جستجو کن :
لینک : درست بخوانیم! درست بنویسیم!!!
Big Grin Wink
  پاسخ
تشکر شده توسط : Goback
#6
محمد امین حالا تو قاطی نکنی نمیشه! Undecided Cool میگم من از این پستت دو تا برداشت می کنم. یکی اینکه به من و امید میگی که بریم و جستجو کنیم و دیگه اشتباه من جواب ندم! یا دوم اینکه کلاً داری میگی بهتره پیش از ارسال تاپیک جستجو کنیم؟! Undecided اگر گزینه اول باشه خودمو می کشم Dodgy
غایب
  پاسخ
تشکر شده توسط : Goback
#7
نقل قول:من و امید میگی که بریم و جستجو کنیم و دیگه اشتباه من جواب ندم!
نه ! Sleepy

نقل قول:پیش از ارسال تاپیک جستجو کنیم؟!
شاید آره ولی بازم نه ! Wink

نقل قول:اگر گزینه اول باشه خودمو می کشم
نه عزیزم Heart
  پاسخ
تشکر شده توسط : Goback
#8
(۱۳۹۰ اردیبهشت ۳۰, ۱۲:۵۰ ق.ظ)oia نوشته: Angry

برادر جان! یکم جستجو کن :
لینک : درست بخوانیم! درست بنویسیم!!!
Big Grin Wink

اتفاقا با خوندن همون تاپیکتون،این سوال برام پیش اومدآقای امین خان!
خواستم همونجا بپرسم ولی دیدم تو تاپیک جداگانه بهتره،البته بیشتر سوالم رو getwcd بود،از جواب شما هم ممنون. Smile

اللهم صل علی محمد و آل محمد و عجل فرجهم

افلاطون را گفتند چرا هرگز غمگین نمیشوی؟
گفت :دل برآنچه نمی ماند،نمی بندم.
  پاسخ
تشکر شده توسط :
#9
هدف خلقت getwcd یه چیزه دیگست! درسته ممکنه جواب درست بده اما چون واسه یه کاره دیگه ساخته شده پس ممکنه که تحت شرایطی مشکل به وجود بیاره!
لینک : http://ir.php.net/manual/en/function.getcwd.php
  پاسخ
تشکر شده توسط : Goback
#10
خب محمد امین جون میشه لطف کنی خلقت این تابع باقالی رو بگی؟ Blush البته من گفتم که واسه آدرس دهی در سیستم عامل هاست. اگر درسته که هیچ اما اگر نیست شما بگو Angel
غایب
  پاسخ
تشکر شده توسط : Goback


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان