راکت

ارور هنگام آپلود عکس روی سرور در لاراول

9 پاسخ

سلام بچه ها
موقع آپلود عکس روی لوکال اروری ندارم ولی وقتی میخوام روی سرور عکس آپلود کنم ارور زیر رو میگیرم.
Intervention\Image\Exception\NotReadableException Image source not readable
لاراول 6 با اینترونشن استفاده میکنم.
ممنون میشم اگه کسی بلده کمک کنه

ثبت پرسش جدید

پاسخ‌ها

9
رایموند
رایموند
@Raymond

تخصص: مختصص وردپرس - برنامه نویس لاراول

درود...
توی تگ form این کد اضافه کنید:

enctype="multipart/form-data"

برای make در کنترلر:

$img = Image::make($request->file('photo')->getRealPath());
مهدی حسن پور
مهدی حسن پور
@mehdih761

اینا رو امتحان کردم. روی لوکال درست کار میکنه. مشکل یه چیز دیگه هست. روی سرور درست کار نمیکنه.

شاید پاسخ شما همین‌جا باشد

Mohammad
Mohammad
@mhmdkavosi

تخصص: Back-End developer

سلام.
عکس رو کجا داری اپلود میکنی.
شاید اون ادرس یا پوشه وجود نداره یا
پوشه ای که عکس و توش آپلود میکنی سطح دسترسی شو 777 بذار.

مهدی حسن پور
مهدی حسن پور
@mehdih761

سلام
عکس رو داخل پوشه storage آپلود میکنم. که درست آپلود میشه. ولی داخل پوشه پابلیک که سیمبل لینک از storage وجود داره چیزی آپلود نمیشه.
واقعیتش این هست که سایت در حالت لوکال درست کار میکنه. و فقط روی هاست اشتراکی مشکلی هست که درست لینک داده نمیشه به پوشه public. فکر میکنم چون توی هاست اسم public_html هست به جای public این مشکل به وجود میاد. و از storage به پوشه public_html لینک داده نمیشه. این وسط باید یه سری تغییرات بدم تا public_html رو لاراول بشناشه.

سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

public لاراول رو به public_html تغییر بدید و در فایل AppServiceProvider کد زیر رو ست کنید

$this->app->bind('path.public', function() {
return base_path().'/public_html';
});
Mohammad
Mohammad
@mhmdkavosi

تخصص: Back-End developer

یه راه دیگه اینه که شما پوشه public/storage
رو پاک کنی بعد با کد سیمبل لینک(سرچ کنی نمونش هست) بگی که پوشه public/storage لینک بشه به storage.

مهدی حسن پور
مهدی حسن پور
@mehdih761

خیلی ممنون از دوستان ولی کاری که خودم انجام دادم و جواب داد این بود که اول یه دونه دیسک ذخیره سازی ساختم که داخل پوشه public فایل ها رو آپلود میکنه به صورت

'public_uploads' => [
            'driver' => 'local',
            'root'   => public_path() . '/storage',
        ],

و ذخیرشون میکنه بعد هم یه قطعه کد به فایل index.php به صورت زیر اضافه کردم و الان داره کار میکنه.

    $app->bind('path.public', function() {
        return __DIR__;
    });
حسین
حسین
@simhos2017

تخصص: برنامه نویس لاراول و اندروید

منم همچین مشکلی داشتم ولی با کمک کد آقای @juza66 مشکل حل شد .
دمت گرم .👍👍👍

حسین
حسین
@simhos2017

تخصص: برنامه نویس لاراول و اندروید

بچه ها یه سوال ؟!
اگه از کد زیر استفاده کنیم ، ولی پروژه روی لوکال باشه دیگه خطا میده و کار نمیکنه ! چیکار باید کرد ؟ باید پوشه public رو به public_html تغییر بدیم ؟؟؟

$this->app->bind('path.public', function() {
return base_path().'/public_html';
});

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

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