سید مهدی حسینی
4 سال پیش توسط سید مهدی حسینی مطرح شد
6 پاسخ

مشکل عجیب آپلود تصویر در هاست

سلام من یه سایت رو تکمیل کردم بعد بعد از آپلود پروژه در هاست لینوکسی آپلود فایل ها به درستی انجام نمیشه ، در صورتی که در لوکال به راحتی کار میکنه.کد آپلود تصویر :

  $image = $request->file('image_p');
            $name_image=Product::find($request->editProduct)->image;
            $imageName =$name_image;
            if ($image) {
                $path_image_file=public_path(Get_path_product_image($name_image));
                if (file_exists($path_image_file) and $path_image_file!='') {
                    unlink($path_image_file);
                }

                $imageName = rand(1000,10000) . '_' . time() . '.' . $image->getClientOriginalExtension();
                $destinationPath = public_path('/uploaded/image/products');
                $image->move($destinationPath, $imageName);
            }

مشکل یخورده عجیبه ،وقتی توی remote ftp فایل ها رو میبینم اولش اون عکس وجود داره ولی بعد از چند ثانیه که رفرش میکنم نیست دیگه ،خیلی عجیبه

دوستان ممنون میشم اگه کسی راه حل این مشکل رو میدونه منو از این مشکل نجات بده 😊


ثبت پرسش جدید
woz
تخصص : fan of open source world
@wozniak 4 سال پیش مطرح شد
1

@mahdihoseini1380
وقتی چیزی بسیار عجیب بود معمولا راه حلشم بسیار مسخره هست.
پس بگردید برای اینکه ببینید چه جایی داخل فرضیات شما اشتباه صورت گرفته.


سید مهدی حسینی
@mahdihoseini1380 4 سال پیش مطرح شد
0

سلام مشکلشو فهمیدم تایع public_path آدرس اشتباه میده ، وقتی توی هاست پوشه public لاراول رو به public_html هاست منتقل میکنیم تابع public_path آدرس اون پوشه public رو میده که قبلا توی فایل پروژه وجود داشت رو میده یعنی مه این آدرس رو میخوام:
home3/choobonl/public_html/uploaded/image/products/8945_1601468241.jpg
ولی این ادرس زیر رو میده :
home3/choobonl/siteData/public/uploaded/image/products/8945_1601468241.jpg
میدونید چطوری تابع public_path رو دستکاری کنم که آدرس درست پوشه public هاست رو بده


Amirilidan78
تخصص : برنامه نویس وب
@Amirilidan78 4 سال پیش مطرح شد
1

@mahdihoseini1380

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

سید مهدی حسینی
@mahdihoseini1380 4 سال پیش مطرح شد
0

@Amirilidan78
ممنون ، این کدی که دادید توی لوکال به مشکل برنمیخوره؟
این کد رو کجا قرار بدیم بهتره؟


Amirilidan78
تخصص : برنامه نویس وب
@Amirilidan78 4 سال پیش مطرح شد
1

توی فایل env وریبل app_on_server رو قرار دهید توی لوکال فالس بزارین روی سرور ترو
من خودم داخل appserviceProvider گذاشتم شما میتونین یه provider دیگه درست کنین


AriaieBOY
تخصص : TALL Stack Lover
@ariaieboy 4 سال پیش مطرح شد
1

@mahdihoseini1380
یکی از مشکلات میتونه مربوط باشه به فایل php.ini و مقادیر post max file size
ببینید با هر حجم فایلی خطا میخوره یا خیر.
اگر فقط فایل هایی که مثلا از 2 یا 8 مگ به بالا بود مشکل از تنظیمات php.ini هست


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

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