اگه از لاراول استفاده میکنید ، احتمالا آدرس پوشه public یا storage دقیق و درست بهش ندادید
در ضمن سوالتون واضح و شفاف نیست ...
@myzerone2
ببینید برای اپلود php میاد اول فایل یا عکس رو میریزه تو temp بعد منتقل میکنه به پوشه مورد نظر شما .
شما احتمالا آدرس temp رو درست وارد نکردین .
با این کد request فایل عکس و دریافت می کنم
$images = $this->uploadImages($request->file('images'));
برای آپلود و return آدرس فایل ذخیره شده هم این کد استفاده میشه
protected function uploadImages($file)
{
$year = Carbon::now()->year;
$imagePath = "/upload/images/{$year}/";
$filename = $file->getClientOriginalName();
$file = $file->move(public_path($imagePath) , $filename);
$sizes = ["300" , "600" , "900"];
$url['images'] = $this->resize($file->getRealPath() , $sizes , $imagePath , $filename);
$url['thumb'] = $url['images'][$sizes[0]];
return $url;
}
private function resize($path , $sizes , $imagePath , $filename)
{
$images['original'] = $imagePath . $filename;
foreach ($sizes as $size) {
$images[$size] = $imagePath . "{$size}_" . $filename;
Image::make($path)->resize($size, null, function ($constraint) {
$constraint->aspectRatio();
})->save(public_path($images[$size]));
}
return $images;
}
از پکیج Intervention برای resize کردن استفاده می کنم
عملیات آپلود انجام میشه ولی url موقع return شدن ارور میده
ارورش مربوط به دریافت آردس فایل از آرایه و merge کردن بود. بهتره از $request->only('file') سورس فایل رو برای تابع برگردونی. composer dumpautload و پاک کردن کش لاراول هم میتونه کمک کنه
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟