سلام
من از طریق لاراول می خوام یک فایل رو در یک هاست دیگه آپلود کنم.
یعنی سایت روی یک هاست هست و فایل های صوتی در یک هاست دیگر.
برای فایل های زیر ۲ مگابایت مشکلی ندارم ولی بیش از ۲ مگابایت رو خطا میده
زیر ۲ مگابایت با اجرا این کد آدرس tmp رو میده ولی بیشتر از ۲ مگابایت Null بر می گرده.
$_FILES['file']['tmp_name']
ممنون میشم راهنمایی بفرمایید
سلام
به چه صورتی فایل ها را آپلود می کنید. برای آپلود کردن فایل داخل لاراول بهتر هست از 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;
}
}
کدهای من
$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
اطمینان دارید که از هاست ftp نیست. بعضی از هاست ها محدودیت روی آپلود ایجاد می کنن. مثلا
memory_limit = 256M
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟