راکت
حسین
حسین
توسط حسین مطرح شد
12 پاسخ

سوال درباره تابع rand

اقا من میخوام بدون میشه با تابع

<?php
echo rand()
?>

استفاده کنم برای عکس
که عکس هارو تصادفی انتخاب کنه
@wpuser
@Nima.nori


ثبت پرسش جدید
محمد مهدی امیری
محمد مهدی امیری
تخصص :جوجه برنامه نویس PHP
@wpuser4 سال پیشمطرح شد
0

بله میشه.


مهدی اردشیر
مهدی اردشیر
تخصص :یه برنامه نویس
@mehdi01214 سال پیشمطرح شد
0

سلام منظورت چیه که عکس هارو انتخاب کنه


حسین
حسین
@hoseen.r86134 سال پیشمطرح شد
0

اینکه مثلا وقتی یه کاربر ثبت نام کرد
پروفایل کاربر از بین اونایی که من تعیین کردم
تصادفی برا کاربر انتخاب شه


مهدی اردشیر
مهدی اردشیر
تخصص :یه برنامه نویس
@mehdi01214 سال پیشمطرح شد
0

مگه اینکه اول بیای چک کنی چیزی که رند ساخته فایل عکسش اگه وجود داشت نشونش بده اگ نه دوباره رند رو اجرا کن و این مراحل رو چک کن
فکر کنم بتونی با do while بزنی


حسین
حسین
@hoseen.r86134 سال پیشمطرح شد
0

چطوری میشه


Yasin
Yasin
تخصص :Laravel
@yasinFaraji4 سال پیشمطرح شد
0

میتونی روی اسم این کارو کنی مثلا اسم عکسات اینطوری باشه img1 , img2 , im3 و ... بعدش موقع لود کردن عکس توی آدرسش یه عدد رندوم تعیین کنی مثلا از 1 باشه تا هر تعدادی که عکس داری
ولی خب این روش خیلی سطح پایین و بدرد نخوره


حسین
حسین
@hoseen.r86134 سال پیشمطرح شد
0

سطح بالا چیه


mmj-sys
mmj-sys
تخصص :داش متخصص چیه من پروفسورم .
@mmj.sys4 سال پیشمطرح شد
0

@mehdi0121
خب شاید ده تا عدد رندوم امد و تو لیست نبود
لیست عکس هارو بگیر شافل کن


مهدی اردشیر
مهدی اردشیر
تخصص :یه برنامه نویس
@mehdi01214 سال پیشمطرح شد
0

@mmj.sys
گفتم که باید چک کنه فایل عکس وجود داره یا نه
روشی که ت گفتی هم فکر خوبه

https://www.php.net/manual/en/function.glob.php
اینو بخون
@hoseen.r8613


ASPgo
ASPgo
تخصص :HTML، CSS، PHP و JS، طراح قالب و افزونه وردپرس، سئوکار و مقاله نویس
@asp.gosk4 سال پیشمطرح شد
2

تصاویر رو تو یه فولدر مخصوص قرار بده مثلا با اسم images
بعد با glob بدستشون بیار. تابع glob یه سری تکنیک و نکته داره که تو مستندات PHP توضیح داده.

$files = glob('images/*.*'); // به وسیله *.* گفتیم هر تو فولدر images فایل با هر اسم و پسوند رو انتخاب کن

Glob خروجیش یه ارایه هست که اسم فایل ها توش وجود دارن.
برای اینکه یه فایل به طور اتفاقی انتخاب بشه از Rand تو بخش مربوط به ایندکس آرایه([]) استفاده میکنیم.

var_dump($files[rand(0,  count($files) - 1)]); // از count $files یه عدد کم کردیم چون ایندکس های آرایه از 0 شروع میشه

این کد اسم فایل رو بر میگردونه و از اونجایی که تو یه فولدر خاص قرارشون دادی خیلی راحت میتونی ازشون استفاده کنی


محمدحسن یگانه
محمدحسن یگانه
تخصص :Full-Stack Web Developer Freelancer
@mhyeganeh4 سال پیشمطرح شد
3

اگر از لاراول استفاده می‌کنید یک راهکار حرفه ای تر و خاطرجمع ترش به نظرم این هست که اول بتونید یک آرایه از عناوین تصاویر موجود بدست بیاری و بعد خیلی راحت مثلا با Arr::random($array) یکیشون رو بصورت رندوم انتخاب کنی و بعنوان تصویر آواتار قرار بدی.

$image_names = Storage::files('/path/to/directory');
$random_avatar_name = Arr::random($image_names);

Ibo Kiani
Ibo Kiani
تخصص :Backend developer
@abdoki77884 سال پیشمطرح شد
0

یه آرایه از عکس ها درست کن و ایندکسی که این متد برمیگردونه رو به عنوان ایندکس آرایه استفاده کن و عکس رو بگیر


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

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