hallo ich habe folgendes codesnipsel
$verzeichnis = "./images/random/";
$bildtyp = array("gif","jpg","png","bmp");
$quelle = dir($verzeichnis);
$bildname = array();
while($datei = $quelle->read()){$format = substr(strrchr($datei,".") ,1);
if (in_array($format,$bildtyp)){$bildname[] = $datei;}}
$quelle->close();
srand((double) microtime()*10000000);
$typ = array_rand($bildname);
echo "<div align='center'><img src='$verzeichnis/$bildname[$typ]' alt='' /></div>";
Mein Problem ist nun, da ich in dem Ordner verschiedene Bilder habe:
zB. :
Bild1
01.jpg
normal_01.jpg
thumb_01.jpg
Bild2
02.jpg
normal_02.jpg
thumb_02.jpg
wie kann ich es machen, damit nur alle "normal_##" Bilder ausgelesen werden.
Aber nicht, dass ich immer alle Bilder alleine reinschreibe..sondern es soll automatisch gehen, da es stets neue geben wird..
Das geht mit glob(). Sowas wie glob('normal_([0-9]{2}).*') sollte funktionieren ;)
danke..aber kannst du mir die variabeln da erklären?
wie und wo muss ich das reinschreiben?
Das sollte helfen:
http://www.php.net/manual/de/function.glob.php
danke aber ich komme nicht so draus..hab was versucht aber es klappt nicht..
$verzeichnis = "images/random";
$bildtyp = array("gif","jpg","png","bmp");
$quelle = dir($verzeichnis);
$bildname = array();
while($datei = $quelle->read()){$format = substr(strrchr($datei,".") ,1);
if (in_array($format,$bildtyp)){$bildname[] = $datei;}}
$quelle->close();
srand((double) microtime()*10000000);
$typ = array_rand($bildname);
foreach (glob('normal_([0-10]{2}).*') {
echo "<div align='center'><img src='$verzeichnis/$bildname[$typ]' alt='' /></div>";}
kann mir jemand den code machen..?
So sollte es eigentlich funktionieren. Dein Code kannst du damit komplett ersetzen.
<?php
$a_img = glob('./images/random/normal_([0-9]{2}).(gif|jpg|png|bmp)');
$bild = array_rand($a_img);
echo '<div align="center"><img src="' . $bild . '" alt='' /></div>';
?>
danke
aber es geht irgendwie nicht..ich hab den fehler nicht gefunden.
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in /home/www/web619/html/datei.php on line 4
?? was ist da falsch?
echo '<div align="center"><img src="' . $bild . '" alt="" /></div>';
danke...
aber das script klappt irgendwie nicht..es wird kein bild angezeigt..nur ein rotes x
http://www.b-different.org/baden.php
<?php
$path = './images/random/';
$a_img = glob($path.'normal_([0-9]{2}).(gif|jpg|png|bmp)');
$bild = array_rand($a_img);
echo '<div align="center"><img src="'. $path .$bild . '" alt="" /></div>';
?>
ich tipp mal so, dass der pfad nicht stimmt
hey sry..aber es geht einfach nicht..keine ahnung was ich falsch mache ...aber es klappt nicht..
das bild wird als "pfad vom ordner" verlinkt..also nach images/ kommt nichts mehr..
?