اقا من میخوام بدون میشه با تابع
<?php
echo rand()
?>
استفاده کنم برای عکس
که عکس هارو تصادفی انتخاب کنه
@wpuser
@Nima.nori
شاید پاسخ شما همینجا باشد
اینکه مثلا وقتی یه کاربر ثبت نام کرد
پروفایل کاربر از بین اونایی که من تعیین کردم
تصادفی برا کاربر انتخاب شه
چطوری میشه
سطح بالا چیه
@mehdi0121
خب شاید ده تا عدد رندوم امد و تو لیست نبود
لیست عکس هارو بگیر شافل کن
@mmj.sys
گفتم که باید چک کنه فایل عکس وجود داره یا نه
روشی که ت گفتی هم فکر خوبه
https://www.php.net/manual/en/function.glob.php
اینو بخون
@hoseen.r8613
تصاویر رو تو یه فولدر مخصوص قرار بده مثلا با اسم images
بعد با glob بدستشون بیار. تابع glob یه سری تکنیک و نکته داره که تو مستندات PHP توضیح داده.
$files = glob('images/*.*'); // به وسیله *.* گفتیم هر تو فولدر images فایل با هر اسم و پسوند رو انتخاب کن
Glob خروجیش یه ارایه هست که اسم فایل ها توش وجود دارن.
برای اینکه یه فایل به طور اتفاقی انتخاب بشه از Rand تو بخش مربوط به ایندکس آرایه([]) استفاده میکنیم.
var_dump($files[rand(0, count($files) - 1)]); // از count $files یه عدد کم کردیم چون ایندکس های آرایه از 0 شروع میشه
این کد اسم فایل رو بر میگردونه و از اونجایی که تو یه فولدر خاص قرارشون دادی خیلی راحت میتونی ازشون استفاده کنی
اگر از لاراول استفاده میکنید یک راهکار حرفه ای تر و خاطرجمع ترش به نظرم این هست که اول بتونید یک آرایه از عناوین تصاویر موجود بدست بیاری و بعد خیلی راحت مثلا با Arr::random($array) یکیشون رو بصورت رندوم انتخاب کنی و بعنوان تصویر آواتار قرار بدی.
$image_names = Storage::files('/path/to/directory');
$random_avatar_name = Arr::random($image_names);