1kiomars
5 سال پیش توسط 1kiomars مطرح شد
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
                ]);

            }
        }

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

راه حلی هست ؟


ثبت پرسش جدید
mahdi khanzadi
تخصص : Software engineer
@khanzadimahdi 5 سال پیش مطرح شد
3

همه فایلا با یه نام ذخیره میشن چون شما از تابع 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
        ]);
    }
}

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

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