PDA

View Full Version : مبتدی: مشکل در آدرس دهی



hahaie
پنج شنبه 21 دی 1396, 15:58 عصر
سلام دوستان.
بنده در ابتدای یادگیری php اونم با php storm هستم.
تا الان html,css,... رو کار کردم خواستم نمونه پروژه ای که داشتم رو انتقال بدم به php mvc.قبلا تصاویرم توی پوشه images بود مشکلی برا نمایش نداشت الان مجبور شدم این پوشه رو در قالب mvc منتقل کنم به پوشه ای بنام public.
اومدم در ابتدای یکی از تصویرها آدرس دهی رو به شکل زیر درست کردم:

<img src="public/Images/logo.png" style="margin-right: 30px;margin-top: 10px" >
جواب نمیده در صورتیکه توی یه ویدئوی آموزشی دقیقا همین کار رو کرده جواب داده(مگه اینکه پشت صحنه یه کارایی کرده باشه)!
وقتی آدرس رو به شکل زیر تغییر دادم درست شد.چرا؟

<img src="../public/Images/logo.png" style="margin-right: 30px;margin-top: 10px" >
ممنون

plague
پنج شنبه 21 دی 1396, 19:13 عصر
یه آدرس دهی نسبی داریم یه آدرس دهی مطلق
آدرس دهی نسبی یعنی نسبت به مکان فعلی مطلق یعنی از یک مکان ثابت و ریشه
مثلا فرض کن شما شما توی یه خونه باشی با 4 تا اتاق
اگه تو اتاق شماره 1 باشی بخای آدرس اتاق شماه 4 رو بدی میتونی آدرس رو نسبت به اتاقی که الان توش هستی بدی (3 تا اتاق برو جلو ) یا میتونی آدرس رو از در ورودی بدی (از در ورودی 4 تا اتاق برو جلو )
فرقشون اینه که روش اول تا وقتی که تو اتاق 1 باشی آدرسی که دادی درسته و اگه اتاقت رو عوض کنی دیگه اون آدرس درست نیست ولی روش دوم همیشه آدرسش درسته

شما درای از آدرس دهی نسبی استفاده میکنی برا همین یجا ممکنه درست باشه یجا ممکنه غلط بهتره از آدرس دهی مطلق استفاده کنی مثلا اگه رو لوکال هاست کار میکنی آدرس رو اینجوری بده



http://localhost/public/Images/logo.png

البته فکر مکینم اگه یه / هم بزاری اول آدرست جواب بده


/public/Images/logo.png

البته روش صحیح اینه که یجوری بنویسی که بشه از یکجا کل لینک ها رو آپدیت کرد اینحجوری وقتی وبسایت رو آنلاین کردی یا دامنه سایت رو تغییر دادی هم هلینک هات آپدیت میشه



<?php
function base_url( $url ){
return "http://localhost/$url";
}
?>
<img src="<?php echo base_url('public/Images/logo.png'); ?>" style="margin-right: 30px;margin-top: 10px" >