آپلود فایل در لاراول

4 ماه پیش
توسط علی بیات آپدیت شد
نوید ( 16169 تجربه )
4 ماه پیش
تخصص : برنامه نویس PHP / LARAVEL

سلام
من از طریق کد زیر آپلود میکنم فایلها رو :

            $file = $request->file('image') ;
        $fileName = $file->getClientOriginalName() ;
        $destinationPath = public_path().'/images/' ;
        $file->move($destinationPath,$fileName);
            $user->image = $fileName;
        }

با جه ادرسی باید تصاویر ثبت شده رو نشون بدم ؟
روی هاست اشتراکی ، فایلهای لاراول توی یه پوشه عقب تر هستند
همش 404 میده

محمد مهدی کارگر ( 2423 تجربه )
4 ماه پیش
تخصص : طراح و برنامه نویس

سلام
برای آپلود به صورت زیر عمل کنید:

$path = $request->file('image')->store('avatars');
//store the $path in database

و برای نمایش دادن اون ها به صورت زیر :

<img src="{{asset('storage/avatars/'.$path)}}" >
/* $path means file address stored in database */

اما قبل از همه این ها توجه داشته باشید که لینک storage رو در public ساخته باشید.
برای این که روی هاست اشتراکی storage:link رو اجرا کنید به صورت زیر میتونید عمل کنید :
در web.php یک روت به صورت زیر تعریف کنید:

use Illuminate\Support\Facades\Artisan;

Route::get('makelink' , function(){
    Artisan::call('storage:link');
});

بعد از این که روت بالا رو تعریف کردید کافیه اون روت رو فراخوانی کنید ، لینک ساخته میشه و میتونید ادامه کار رو انجام بدید.

نوید ( 16169 تجربه )
4 ماه پیش
تخصص : برنامه نویس PHP / LARAVEL

@unlocker
سلام
عملیات آپلود انجام میشه ، و فایل توی سرور هم هست ، ولی ارور 404 میده
فایل توی پوشه

storage/app/images

اپلود شد

پایان جهان ( 83488 تجربه )
4 ماه پیش
تخصص : بیکار برنامه نویس

درود...
کد زیر:

if($request->file('image'))
{
    $file = $request->file('image');
    $filename = time().'.'.$file->getClientOriginalExtension();
    $location = public_path('/images');
    $file->move($location, $filename);
    $endworld->image = $filename;
 }

محل ذخیره عکس ها در public/images قرار دارد.

علی بیات ( 265157 تجربه )
4 ماه پیش
تخصص : توسعه دهنده ارشد وب

درود
فایل رو به درستی آدرس دهی کنید مشکل حل میشه
کد شما در آپلود مشکلی نداره.
هنگام دسترسی به فابل باید فولدر صحیح رو انتخاب کنید

برای ارسال پاسخ باید وارد سایت شوید