PDA

View Full Version : سوال: کد رندوم عکس چطوری بسازم؟



vimax65
چهارشنبه 13 بهمن 1389, 04:17 صبح
سلام
چطوری می تونم کد رندوم درست کنم؟
من 1000 تا تصویر با فرمت GIF دارم
میخوام توی یک صفحه هر بار که رفرش میشه 5 تا از 1000 تا رو نشون بدم
اسم تصاویر هم از 1 تا 1000 شماره گذاری شده هست
من اسکریپت رندومش رو دیدم
اما مشکلش اینه روی تصویر اولی تا سومی چهارمی و تصاویر آخری خیلی بیشتر نشون میده
یه جوری میشد که مثلا هر بار رفرش 5 تا 5 تا تصویر نشون بده و قبل و بعدش فرق کنه
اینجوری میشه؟

Mr.Moghadam
چهارشنبه 13 بهمن 1389, 04:55 صبح
سلام

منظور شما از کد رندوم captcha هستش؟


http://www.white-hat-web-design.co.uk/articles/php-captcha.php

ساخت کد رندوم اینجوری نیست راهش و معمولا برای اینکار میان یه سری حروف و اعداد رو به صورت رندوم با کتابخانه GD به عکس تبدیل میکنن.
توی لینک بالا که گذاشتم یه کلاس عالی برای این کار هست.

vimax65
چهارشنبه 13 بهمن 1389, 05:29 صبح
نه کپچا کد نمیخوام
کدهای جی اس هست که واسه متن-تصویر رندوم استفاده میشه منظورم اونه

ghasemweb
چهارشنبه 13 بهمن 1389, 12:04 عصر
منظورت اینه که هر بار از 1000 تا عکس شما 5 تا رندوم تو صفحه بچینه ؟

vimax65
چهارشنبه 13 بهمن 1389, 12:32 عصر
اره
اما طوری باشه مثلا یه تصویر زیادتر از بقیه نشون داده نشه، پشت هم می تونه باشه؟

alonemm
چهارشنبه 13 بهمن 1389, 15:23 عصر
سلام :
اگه نام عكس ها داخل پايگاه داده ذخيره شده باشه ميتونيد با دستور Random() اين عمليات رو انجام بديد.

farhadfery
چهارشنبه 13 بهمن 1389, 16:19 عصر
سلام. این کد را من برای شما نوشتم:
توضیح اینکه: شما تصاویر را تو یه پوشه ذخیره می کنید. در اینجا پوشه farhadfey_images نام تصاویر را هم در table می ریزید. بقیه هم که مشخص.


$size = 1000; //number of pictures
srand ((int) microtime() * 1000000);
$img_id = rand(0, $size-1);
$query = "select img_name from img_table where img_id = '$img_id'limit 1";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
$img_name = $row['img_name'];
echo '<img src="farhadfey_images/.'$img_name'." />';

tem988
پنج شنبه 14 بهمن 1389, 00:52 صبح
$texts = array();
$texts[1] = 'Pic 1';
$texts[2] = 'Pic 2';
$texts[3] = 'Pic 3';
$texts[4] = 'Pic 4';
$texts[5] = 'Pic 5';
$texts[6] = 'Pic 6';
$texts[7] = 'Pic 7';
$texts[8] = 'Pic 8';
$texts[9] = 'Pic 9';
$texts[10] = 'Pic 10';
$texts[11] = 'Pic 11';
$texts[12] = 'Pic 12';
$texts[13] = 'Pic 13';
$texts[14] = 'Pic 14';
$texts[15] = 'Pic 15';
for($i=0 ; $i < 5 ; $i++){
$ry = rand(1,count($texts));
echo $texts[$ry]."<br/>";
}

ghasemweb
پنج شنبه 14 بهمن 1389, 08:35 صبح
اره
اما طوری باشه مثلا یه تصویر زیادتر از بقیه نشون داده نشه، پشت هم می تونه باشه؟

یعنی اینکه 5 تا 5 تا به ترتیب نشون بده تا اینکه مجددا برگرده از اول نمایش بده 1-5 و 6-10 و 11-15 و الی آخر آره؟

mtchabok
پنج شنبه 14 بهمن 1389, 09:44 صبح
این کد رو یه تستی بکن ببین خوب هس یا نه

$NEXT_MODE = true;
$start = 1;
$end = 1000;
$count = 5;
$images = array();
$i=0;
while($i<$count){
if($NEXT_MODE and count($images)){
$images[$i]=$images[$i-1]+1;
if($images[$i]>$end) $images[$i] -= $end;
}
else{
$images[$i] = rand($start,$end);
}
++$i;
}
foreach($images as $img)
echo '<img src="folder/'.$img.'.gif" /><br />';
اگه توضیحی هم خواستی من در خدمتم . موفق باشی

farhadfery
پنج شنبه 14 بهمن 1389, 11:43 صبح
این کد رو یه تستی بکن ببین خوب هس یا نه

$NEXT_MODE = true;
$start = 1;
$end = 1000;
$count = 5;
$images = array();
$i=0;
while($i<$count){
if($NEXT_MODE and count($images)){
$images[$i]=$images[$i-1]+1;
if($images[$i]>$end) $images[$i] -= $end;
}
else{
$images[$i] = rand($start,$end);
}
++$i;
}
foreach($images as $img)
echo '<img src="folder/'.$img.'.gif" /><br />';
اگه توضیحی هم خواستی من در خدمتم . موفق باشی

من نگرفتم! توضیح بفرمایید:افسرده:

vimax65
پنج شنبه 14 بهمن 1389, 15:22 عصر
این کد رو یه تستی بکن ببین خوب هس یا نه

$NEXT_MODE = true;
$start = 1;
$end = 1000;
$count = 5;
$images = array();
$i=0;
while($i<$count){
if($NEXT_MODE and count($images)){
$images[$i]=$images[$i-1]+1;
if($images[$i]>$end) $images[$i] -= $end;
}
else{
$images[$i] = rand($start,$end);
}
++$i;
}
foreach($images as $img)
echo '<img src="folder/'.$img.'.gif" /><br />';
اگه توضیحی هم خواستی من در خدمتم . موفق باشی
ممنون
این php هست؟
من تست کردم جواب نداد که

Dead Space
پنج شنبه 14 بهمن 1389, 20:37 عصر
پیشنهاد من به شما استفاده از کد این دوستمون هستش که در این پست زحمتش رو کشیدن
http://barnamenevis.org/showthread.php?272882-%DA%A9%D8%AF-%D8%B1%D9%86%D8%AF%D9%88%D9%85-%D8%B9%DA%A9%D8%B3-%DA%86%D8%B7%D9%88%D8%B1%DB%8C-%D8%A8%D8%B3%D8%A7%D8%B2%D9%85%D8%9F&p=1206076&viewfull=1#post1206076