راکت
حل شده

آپلود کردن همزمان چندین فایل در لاراول بدون نام تکراری

1 پاسخ

سلام برای اپلود چندین فایل با هم در لاراول از این کد استفاده میکنم

if (is_array($files) || is_object($files)) {
            foreach ($files as $file) {
                $name = time() . '.' . $file->getClientOriginalExtension();
                $file->move(public_path('uploadmusic'), $name);
                PostPhoto::create([
                    'post_id' => $post->id,
                    'filename' => $name
                ]);

            }
        }

ولی همه ی فایل ها با یک اسم ذخیره میشن

راه حلی هست ؟

1kiomars
1kiomars
@kiomars.geytasii
ثبت پرسش جدید

پاسخ‌ها

1
mahdi khanzadi
mahdi khanzadi
@khanzadimahdi

تخصص: Software engineer

بهترین پاسخ

همه فایلا با یه نام ذخیره میشن چون شما از تابع time استفاده کردین و کد شما در زمان کوتاهی اجرا میشه و به همین دلیل نام همه فایلا یکسان میشه! اگه قصد دارید نام رندم عددی استفاده کنید از تابع rand استفاده کنید به عنوان مثال به صورت زیر:

if (is_array($files) || is_object($files)) {
    foreach ($files as $file) {
        $name = rand(0, time()) . '.' . $file->getClientOriginalExtension();
        $file->move(public_path('uploadmusic'), $name);
        PostPhoto::create([
            'post_id' => $post->id,
            'filename' => $name
        ]);
    }
}

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

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

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