سلام دوستان..
در رابطه با فایل ها در لاراول..
توی همه آموزشایی که در رابطه با فایل استورج و کار با فایل در لاراول دیدم به این نکته اشاره میکردند که فایلایی که سمت کلاینت قراره دسترسی داشته باشیم رو باید توی public قرار بدیم و نمیشه هرجایی که دلمون میخواد قرار بدیم..
یه سری ابهام برام بوجود اومده..
1- یه سری فایل دارم مثلا فایل log که قرار هم نیست کلاینت به آدرسش دسترسی داشته باشه ولی سمت بک اند توی پنل با کدنویسی محتواشو میخوام بخونم یا توش بنویسم.. این جور فایل ها رو تو هر مسیری از پروژه که دوست داشته باشم میتونم بسازم و بنویسم و بخونم؟کلا فایلای این مدلی که قراره توشون بنویسیم یا از توشون متنی بخونیم رو هرجای دیگه که دوست داشته باشیم غیر از پابلیک میشه قرار داد؟
2-برای یه فروشگاه فایل یه سری فایل با مثلا پسوند rar دارم.. این جور فایلا رو هم حتما باید توی public قرار داد یا نه میشه یه روت مخصوص فایلا یه جا غیر از پابلیک ایجاد کنم و بعد وقتی کاربر درخواست دانلود فایل داشت، لینک دانلود بهش بده؟ یا فایلای دانلودی رو هم باید بریزیم اونجا..
3- توی خود public دیگه هرجور دوست داشته باشیم میتونیم پوشه بندی کنیم و آدرس بدیم؟هر چقد تو در تو و زیاد پوشه بسازیم اوکیه یا نه محدودیت داره؟
4-آیا پوشه public که از اسمش هم پیداست عمومیه رو میشه روش محدودیت دسترسی به بعضی فولدراش اعمال کرد؟
مثلا
public/images
public/logs
داریم و میخوایم به logs هیچکس دسترسی نداشته باشه میشه؟
@javadbolouri72
سلام.
به ترتیب سوال ها رو پاسخ میدم :
1 - لاراول یه پوشه داره به اسم storage که داخل اون شما می تونید فایل های خودتون رو ذخیره کنید. بغیر از پوشه public که داخل همین storage هم وجود داره، هیچ کس نمی تونه به محتوای داخل اون دسترسی داشته باشه. یعنی فقط دو پوشه ای که اسمشون public هست عمومی هستند و همه می تونن ببینن. فایل لاگ رو هم می تونید در storage/logs ذخیره کنید که لاراول خودش هم همین کار رو کرده و امن هستش.
2 - برای فروشگاه فایل وقتی قراره یک فایل فروخته بشه، نباید دسترسی عمومی به اون وجود داشته باشه. پس اون رو در پوشه storage قرار بدید و بهتر هم اینه که برای این جور کاری یک سرورفایل داشته باشید.
3 - پوشه public هیچ محدودیتی نداره و می تونید هر کاری باهاش بکنید.
4 - پوشه public عمومی هستش و هرکسی هم بهش دسترسی داره و اصلا پیشنهاد نمیشه که دسترسی ها رو در اون پوشه تغییر بدید (امکان داره کل پروژه تون از دسترس خارج بشه).
و در نهایت هم بگم، من بهتون پیشنهاد می کنم در پوشه public فایلی رو مستقیم نزارید. اگر فایلی هست که می خواهید عمومی باشه اون رو می تونید در storage/app/public قرار بدید و خودش اون رو متصل می کنه. و اگر هم فایلتون خصوصی هستش، اون رو در پوشه ای در storage/app ذخیره کنید.
لینک زیر رو هم ببنید کامل بهتون کار با File Storage در لاراول رو آموزش میده:
https://bit.ly/3bqpXBE
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟