|
|
|
|
|
для: Shorr Kan
(24.03.2005 в 21:28)
| | Хм... может как-нибудь попроще, вот так например
<?php
$info_admin = mysql_fetch_array(mysql_query("SELECT * FROM admin;"));
$dir = opendir ($info_admin['url_images']);
while ( $file = readdir ($dir))
{
if (( $file != ".") && ($file != "..")) $img[] = $file;
}
closedir ($dir);
$show = array();
for($i=0;$i<$info_admin['sum_img'];$i++)
{
$index = rand(0, count($img));
$show[] = $img[$index];
unset($img[$index]);
}
for($i=0;$i<count($show);$i++)
{
print $count_show[$i]."<BR>";
}
?>
|
| |
|
|
|
|
|
|
|
для: Shorr Kan
(24.03.2005 в 21:24)
| |
$img='';$x='';
$info_admin = mysql_fetch_array(mysql_query("SELECT * FROM admin;"));
$dir = opendir ($info_admin['url_images']);
while ( $file = readdir ($dir))
{
if (( $file != ".") && ($file != ".."))
{
$img[].=$file;
}
}
closedir ($dir);
$count=count($img);
$show="";
for($i=0;$i<$info_admin['sum_img'];$i++){
$add=rand(0,$count);
for($a=0;$a<count($show);$a++){
if($img[$a]!=$img[$add]){
$show[].=$img[$a];break;}}
if(count($show)==$info_admin['sum_img']){break;}
}
$count_show=count($show);
for($i=0;$i<$count_show;$i++){print $count_show[$i]."<BR>";}
|
Это третий вариант. Наиболее приближенный к тому, что нужно... но ошибка... | |
|
|
|
|
|
|
|
для: Shorr Kan
(24.03.2005 в 20:56)
| | Второй вариант:
$info_admin = mysql_fetch_array(mysql_query("SELECT * FROM admin;"));
$dir = opendir ($info_admin['url_images']);
while ( $file = readdir ($dir))
{
if (( $file != ".") && ($file != ".."))
{
$img[].=$file;
}
}
closedir ($dir);
$count=count($img);
$show="";
for($i=0;$i<$info_admin['sum_img'];$i++){
$add=rand(0,$count);
for($a=0;$a<$count;$a++){if($img[$a]!=$img[$add]){$show[].=$img[$a];}}
}
print count($show);
|
Тоже что-то не то... выводит 300, а не 15... | |
|
|
|
|
|
|
|
$info_admin = mysql_fetch_array(mysql_query("SELECT * FROM admin;"));
$dir = opendir ($info_admin['url_images']);
while ( $file = readdir ($dir))
{
if (( $file != ".") && ($file != ".."))
{
$img[].=$file;
}
}
closedir ($dir);
$count=count($img);
$show="";
$no='yes';
for($i=1;$i<=$count;$i++){
$rand_img=rand(1,$count);$count_show=count($show);
for($a=1;$a<=$count_show;$a++){
if($img[$rand_img]==$img[$a]){$no='no';}}
if($no=='yes'){$show[].=$img[$rand_img];}
if($no=='no'){$no='yes';}
if(count($show)==$info_admin['sum_img']){break;}
}
for($i=1;$i<=$count;$i++){print $show[$i]."<BR>";}
|
Суть такая: нужно брать $info_admin['sum_img'] картинок из директории $info_admin['url_images'].... при этом, все картинки которые скрипт возьмет - должны быть разные. И, при этом, поскольку скрипт будет часто-посещаемым - не должен... Ну... подтормаживать.
Откровенно говоря, при таком коде ерунда какая-то получается. Код сыроват, конечно, но картинок в тестовую папочку я положил 21-у... $info_admin['sum_img'] сделал равным 15.... он мне вывел 13 картинок, повторяющихся, да среди них пробел... Вот. Что-то я тут переусложнил, видимо :( | |
|
|
|
|