Amir Alsaeed نشر 17 مارس 2021 أرسل تقرير نشر 17 مارس 2021 لدي مجموعة من صور الحسابات الشخصية التي تم تحميلها إلى مجلد storage في لارافيل. ولكن الخادم يقوم بتحويل جميع الروابط إلى المجلد public فكيف يمكنني الوصول إلى الصور والملفات المخزنة في المجلد storage بدلاً من ذلك وجعلها تظهر ضمن ال views؟ 1 اقتباس
0 عبد الله محمد5 نشر 17 مارس 2021 أرسل تقرير نشر 17 مارس 2021 عليك القيام بكتابة هذا الامر : php artisan storage:link عندها سيتم عمل رابط storage/app/public سيمكنك من تضمين الصور التي تريدها بالشكل التالي : http://anydomain.com/storage/image.jpg اقتباس
1 Sam Ahw نشر 17 مارس 2021 أرسل تقرير نشر 17 مارس 2021 وفقاً للتوثيق الرسمي في لارافيل، يفضّل وضع الملفات العامة مثل الصور ضمن المجلّد public، ولكن في حال وجود الملفات في مجلّد آخر ولإتاحته على الويب يمكن إنشاء رابط يدعى symbolic من المسار public/storage إلى المسار storage/app/public كالتالي: ln -s /path/to/laravel/storage/app/public /path/to/laravel/public/storage الآن يمكنك إضافة رابط URL ضمن ال views باستخدام asset helper بالشكل التالي: echo asset('storage/file.txt'); ولكن في بعض الحالات لدى بعض الاستضافات المشتركة لا يمكنك إنشاء symbolic link عندها يمكنك إنشاء مسار جديد route في لارافيل والتوجيه إليه عند طلب الملفات. مثال: Route::get('storage/{filename}', function ($filename) { $path = storage_path('public/' . $filename); if (!File::exists($path)) { abort(404); } $file = File::get($path); $type = File::mimeType($path); $response = Response::make($file, 200); $response->header("Content-Type", $type); return $response; }); أما للصور، فيمكن عن طريق لارافيل استخدام مكتبة الصور كالتالي: Route::get('storage/{filename}', function ($filename) { return Image::make(storage_path('public/' . $filename))->response(); }); الآن يمكن ببساطة وضع الرابط التالي في أي صفحة view : http://somedomain.com/storage/image.jpg مع استبدال somedomain باسم النطاق الخاص بك. اقتباس
السؤال
Amir Alsaeed
لدي مجموعة من صور الحسابات الشخصية التي تم تحميلها إلى مجلد storage في لارافيل. ولكن الخادم يقوم بتحويل جميع الروابط إلى المجلد public فكيف يمكنني الوصول إلى الصور والملفات المخزنة في المجلد storage بدلاً من ذلك وجعلها تظهر ضمن ال views؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.