امیر
3 سال پیش توسط امیر مطرح شد
6 پاسخ

خطا در آپلود کردن فایل های بیش از ۲ مگابابت

سلام

من از طریق لاراول می خوام یک فایل رو در یک هاست دیگه آپلود کنم.
یعنی سایت روی یک هاست هست و فایل های صوتی در یک هاست دیگر.

برای فایل های زیر ۲ مگابایت مشکلی ندارم ولی بیش از ۲ مگابایت رو خطا میده

زیر ۲ مگابایت با اجرا این کد آدرس tmp رو میده ولی بیشتر از ۲ مگابایت Null بر می گرده.

$_FILES['file']['tmp_name']

ممنون میشم راهنمایی بفرمایید


ثبت پرسش جدید
نوب
تخصص : کدنویس نوب :)
@yk5742g 3 سال پیش مطرح شد
1

توی تنظیمات هاستت max-upload-file-size را تغییر بده مقدارشو


امیر
@islamicwallpaper.ir 3 سال پیش مطرح شد
0

@yk5742g

روی مقدار ۲۰۰ مگابایت گذاشتم ولی باز هم خطا میده

fopen(): Filename cannot be empty

moha li
تخصص : توسعه دهنده لاراول و Vue
@mohaligateway 3 سال پیش مطرح شد
1

سلام
به چه صورتی فایل ها را آپلود می کنید. برای آپلود کردن فایل داخل لاراول بهتر هست از function های خود لاراول استفاده کنید. اگر بر روی یک هاست دیگر بارگذاری می کنید از ftp ارتباط بین دو server برقرار کردید.

protected function fileUploader($file)
{
    if (!is_null($file)) {
        $year = Carbon::now()->year;
                $month = Carbon::now()->month;
                $folderpath= "/upload/{$year}-{$month}/";
                $filename = $file->getClientOriginalName();
                $file->move(public_path($folderPath), $filename);
                $url = $folderPath . $filename;
                return $url;
        } else {
            return null;
        }
}

@islamicwallpaper.ir


امیر
@islamicwallpaper.ir 3 سال پیش مطرح شد
0

@mohaligateway
@yk5742g

کدهای من

$filenamewithextension = $request->file('file')->getClientOriginalName();
            $filename = pathinfo($filenamewithextension, PATHINFO_FILENAME);
            $extension = $request->file('file')->getClientOriginalExtension();
            $filenametostore = $filename.'_'.uniqid().'.'.$extension;
            $path = '/series/sound/' . $input['id'] . '/' . $filenametostore;
            return Storage::disk('ftp')->put($path, fopen($request->file('file'), 'r+'));

ولی این خطا رو برای فایل های بیشتر از ۲ مگ میده

fopen(): Filename cannot be empty

moha li
تخصص : توسعه دهنده لاراول و Vue
@mohaligateway 3 سال پیش مطرح شد
1

اطمینان دارید که از هاست ftp نیست. بعضی از هاست ها محدودیت روی آپلود ایجاد می کنن. مثلا

memory_limit = 256M

@islamicwallpaper.ir


امیر
@islamicwallpaper.ir 3 سال پیش مطرح شد
0

@mohaligateway

مشکل از dropzone بود.

ممنونم از کمکت


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

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