Jump to content
php.lv forumi

Random images


Lokomotive

Recommended Posts

Nevarēju atrast random funkciju, kas piemēram pie lapas ielādes

paņemtu kādu bildi no direktorijā esošajām.

 

Noskanēt direktoriju var gan ar scandir, gan ar readdir funkciju:

 

<?php

if ($handle = opendir('.')) {

while (false !== ($file = readdir($handle))) {

if ($file != "." && $file != "..") {

echo "$file\n";

}

}

closedir($handle);

}

?>

 

Taču kā lai izveido random funkciju?

Edited by Lokomotive
Link to comment
Share on other sites

scandir() un readdir() imho nav viens un tas pats. scandir() visus direktorijas elementus ievelk masiiva, bet shii f-ja laikam ir tikai no PHP 5.

 

Ar scandir vareetu buut eerti :)

 

<?php
$mas = scandir('/direktorija');
foreach ($mas as $m) if ($m != "." && $m !="..") $mas[] = $m; // nodzeesham liekos punktus
echo '<img src="'.$mas[rand(0,count($mas))].'">';
?>
?>

 

Rakstiju no galvas, nav kur notesteet, negaranteeju ka darbosies ;)

Edited by rnc
Link to comment
Share on other sites

Paldies rnc,

 

es hostējos pie Latneta, tāpēc scandir man ir pieejams. Vienīgais mīnuss Latnetam ir tas, ka par Mysql ir jāmaksā papildus 10Ls mēnesī - tāpēc nevaru izmantot datubāzes un ir jāmokās ar .txt failiem :(

Edited by Lokomotive
Link to comment
Share on other sites

Nu man piemeram agrāk gustbuks stradaja uz text failiem. Bet galvenais bija tas, ka tajaa failaa saglabaajaas ne tikai texts, bet arii visi html tagi kas bija tam postam un tas bija diezgan daudz. Kopumaa man bija savaakushies kaadi paaris simti postu - un es neteiktu, ka tas viss vilktos. Viss gaaja normaali, tapeec es domaaju, ka zinju sisteemu lapai mieriigi var taisiit. Uz 2 gadiem derees mieriigi!

Link to comment
Share on other sites

Var jau visaadi sataisiit, njemsim katram meenesim savs fails, vai tml ;) Lai nav jaaiet cauri failam kuraa ir septinjus gadus vecas zinjas :)

 

P.S. Gacha, apsveicu tevi ar tavu 300. postu!

Edited by rnc
Link to comment
Share on other sites

ja esi pa slinku, lai pats iemaaciitos, tad njem tev jau gatavs, tikai neaizmirsti papeetiit un images/ direktorijaa sabaaazt images =]

 

 

<?
mt_srand((double)microtime()*1000000);
$imgs = dir('images');
while ($file = $imgs->read()) {
   if (eregi("gif", $file) || eregi("jpg", $file)) {
$imglist .= "$file ";
   }
}
closedir($imgs->handle);
$imglist = explode(" ", $imglist);
$a = sizeof($imglist)-2;
$random = mt_rand(0, $a);
$image = $imglist[$random];
$content = "<br><center><img src=\"images/$image\" border=\"0\"><br><br></center>";
echo $content;
?>

Link to comment
Share on other sites

Bet tad jau uploudojot bildes vinjas vajag nummureet - tas nebuut nav eerti.

 

Bet var uztaisiit scriptinju, kas pirms uplouda izskenee diru cik tur ir, ja ir 100 tad vinjsh sho bildi nosauc 101.jpg B)

Link to comment
Share on other sites

×
×
  • Create New...