kabiri
4 سال پیش توسط kabiri مطرح شد
13 پاسخ

نمایش عکس ها از فولدر storage

با سلام من با استفاده از پلی مورفیک یک به چند، برای یک محصول چند عکس ذخیره کردم .

public function store(ProductRequest $request)
{
$product=product::create($request->all());
$id=$product->id;

     foreach ($request->photos as $photo) {
        $year = Carbon::now()->year;
        $month = Carbon::now()->month;
        $day = Carbon::now()->day;
        $imagePath = "/upload/images/{$year}/{$month}/{$day}";
        $path = $photo->store( $imagePath, 'public');
        $product->photos()->create(['path'=>$path,'imageble_id'=>$id, 'imagable_type' => Product::class]);

     }
    $request->session()->flash('success', 'محصول با موفقیت ثبت شد!');
    return redirect(route('Products.index'));
}

این عکس ها در مسیر
storage/app/public/upload/images/....
ذخیره شده اند.
حال برای نمایش این عکس ها در ویو چه کدی رو باید بزنم؟


ثبت پرسش جدید
محسن بستان
تخصص : Senior Backend Developer
@mohsenbostan 4 سال پیش مطرح شد
0

@akabiri68
سلام.
ابتده دستور زیر رو اجرا می کنید:

php artisan storage:link

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

http://localhost:8000/storage/upload/images/2020/06/23/image.jpg

حسین شیری نژاد
تخصص : programmer
@hosseinshirinegad98 4 سال پیش آپدیت شد
0

خوب مهندس پس تکلیف app/public چی میشه؟ چرا تو مسیر دستیابی به تصویر نوشته نشدن؟
بعد قبلا شما گفتین لاراول مسیر storage رو برای ذخیره تصویر و فایل آپلودی قانونی کرده، پس چرا آقای موسوی و بعضی برنامه نویسان بزرگ مثل مدیر سایت پارس کلیک فایل های آپلودی رو تو مسیر public پروژه ذخیره می کنن؟
@mohsenbostan


محسن بستان
تخصص : Senior Backend Developer
@mohsenbostan 4 سال پیش مطرح شد
0

@akabiri68
اون دایکتوری یک دایرکتوی خصوصی حساب میشه و نباید کسی بهش دسترسی داشته باشه!
با اون دستوری که گفتم یک نسخه از storage/app/public رو در public/storage/public میسازه( در واقع لینک می کنه)


kabiri
@akabiri68 4 سال پیش مطرح شد
0

ممنون از توضیحاتتون . بله من لینکی که گفتین رو اجرا کردم و توی publicهم عکس رو ذخیره میکنه. یعنی شما نظرتون اینه که از پلی مورفیک توی آدرس دهی استفاده نکنم؟ اخه من اینجوری توی ویو آدرس داده بودم ولی اجرا نمیکنه
<img src="{{asset('storage/app/public/' . $product->photos->first()->path)}}" alt="HTML ">
@mohsenbostan


محسن بستان
تخصص : Senior Backend Developer
@mohsenbostan 4 سال پیش مطرح شد
0

@akabiri68
خب اشتباه آدرس رو دادید!

<img src="{{asset('storage/' . $product->photos->first()->path)}}" alt="HTML ">

به این صورت تغییر بدید.


محسن بستان
تخصص : Senior Backend Developer
@mohsenbostan 4 سال پیش مطرح شد
0

@akabiri68
اگر کد بالا هم کار نکرد، به صورت زیر تغییر بدید:

<img src="{{asset($product->photos->first()->path)}}" alt="HTML ">

kabiri
@akabiri68 4 سال پیش مطرح شد
0

هردو تاشو تست کردم ولی نشون نمیده عکسو. ویو من توی پوشهhome هست. میتونه مشکل از اون باشه؟
من تازه دارم لاراول یاد میگیرم و الان نزدیک دوهفته اس درگیرشم. ممنون میشم کمکم کنید.
@mohsenbostan


محسن بستان
تخصص : Senior Backend Developer
@mohsenbostan 4 سال پیش مطرح شد
0

@akabiri68
فرقی نداره ویو کجاست.
کد زیر رو قبل از تگ img قرار بدید و خروجی رو بفرستید:

{{ dd($product->photos->first()->path); }}

kabiri
@akabiri68 4 سال پیش مطرح شد
0

"upload/images/2020/6/23/qIVlJiJocqpVhXA8rouWQVz2r0GB3fJ1dpP0akUu.jpeg"
@mohsenbostan


kabiri
@akabiri68 4 سال پیش مطرح شد
0

ولی عکس های من توی این مسیر ذخیره شدن:
storage/public/upload/....
@mohsenbostan


حسین شیری نژاد
تخصص : programmer
@hosseinshirinegad98 4 سال پیش مطرح شد
0

من از شما یه سوالی دارم. شما در همین گفتگو اشاره کردید که من دو هفتست درگیر لاراول شدم و تازه دارم لاراول رو یاد می گیرم. بعد شما رفتین یه دوره خیلی پیشرفته پیاده سازی یک سایت با لاراولو درگیرش شدینو رو اون دارین کا میکنین. باید به شما بگم این جور مشکلاتی که شما دارین بخاطر این میتونه باشه که بیس و پایه گذاری شما در لاراول ضعیفه شما اول باید دوره مقدماتی لاراولو میدیدین و باهاش چند تا پروژه میزدین بعد به این پکیج پیشرفته می رسیدین. این مسئله آپلود مال دوره مقدماتی هست و شما اینو باید اونجا یاد میگرفتین دوست عزیز. در این دوره البته من تهیش نکردم فکر نکنم آقای موسوی بخوان روش آپلود فایل که یه کار پیش پا در لاراول اوفتادستون آموزش بدن. شما باید ابتدا بیس لاراولی تو قوی کنی بعد این پروژه رو کلید بزنی.@akabiri68


kabiri
@akabiri68 4 سال پیش مطرح شد
0

با سلام. من گفتم دوهفته اس درگیر نمایش عکس هستم .من در پروژه قبلیم هم همین کد رو اجرا کردم و جواب میداد. الان نمیدونم مشکل از کجاست. من یک ساله که دارم لاراول یاد میگیرم و 8ماه کلاس حضوری رفتم و هردوتا دوره آقای موسوی هم خریداری کردم. ولی ایشون آپلود عکس رو با پلی مورفیک نگفتن ولی من با پلی مورفیک پیاده کردم. @hosseinshirinegad98


حسین شیری نژاد
تخصص : programmer
@hosseinshirinegad98 4 سال پیش مطرح شد
0

آقای موسوی فایل هارو در دوره ، در فولدر storage ذخیره می کنن؟@akabiri68


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام