Forum
Tipps
News
Menu-Icon

Hilfe Zufallsbilder

HAllo zusammen... ich habe schonmal wegen diesem script gefragt aber diesesmal geht es um was anderes ...
wie kann ich bei diesem script:


<?php
$bilder=array("bild1.jpg","bild2.jpg","bild3.jpg");
mt_srand ((double)microtime()*1000000);
$zahl = mt_rand(0,(count($bilder) - 1));

echo "<img src=\"Bilder/".$bilder[$zahl]."\" width=\"200\" und height=\"150\">";
?>


statt dass ich jede bildurl angeben muss

$bilder=array("bild1.jpg","bild2.jpg","bild3.jpg");


ein Ordner angeben, bei dem alle bilder dazugehören sollten? 


Antworten zu Hilfe Zufallsbilder:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hi |

Einfach mit chdir() ins betreffende Verzeichnis wechseln und dann mit glob() den Verzeichnisinhalt in ein Array einlesen.

greez 8)
JoSsiF

AH thanks

sorry da ich ein anfänger bin... könnte mir jemand den script posten? greez

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Nehmen wir an, die Bilder liegen auf dem Server im Unterverzeichnis images:


chdir
(&#39;images&#39;);
$bilder glob(&#39;*&#39;);


Wenn alles jpg-Dateien im Verzeichnis liegen, kannst du '*' auch mit 'jpg' ersetzen und dadurch vermeiden, dass typfremde Dateien mit ins Array geladen werden.

greez 8)
JoSsiF

sorry wenn ich aufrege aber würde es so stimmen:

<?php
chdir('images');
$bilder = glob('*');
mt_srand ((double)microtime()*1000000);
$zahl = mt_rand(0,(count($bilder) - 1));

echo "<img src=\"/images".$bilder[$zahl]."\" width=\"200\" und height=\"150\">";
?>

Denn bei mir zeigt es so eine Fehlermeldung an...

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Ja und wie lautet die Fehlermeldung?

Ah sorry diese Frage war ein bisschen dumm ich habe das Verzeichnis nicht von images zu Bilder ersetzt

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Nuja, passiert ;)

Wenn's dann geht, isses ja ok.

Aber hier habe ich nochmals ein Problem: ich möchte angeben wie Viele Bilder sich im Ordner befinden :


(Der ganze script mit dem zufallsbilder-script)


<?php
chdir("Bilder");
$bilder = glob('*');
mt_srand ((double)microtime()*1000000);
$zahl = mt_rand(0,(count($bilder) - 1));

echo "Es sind <b>$zahl</b> Bilder in diesem Ordner";
?></p>

         <p><?php
chdir("Bild");
$bilder = glob('*');
mt_srand ((double)microtime()*1000000);
$zahl = mt_rand(0,(count($bilder) - 1));

echo "<img src=\"http://fabian.aweb.ch/monzuel/Bilder/".$bilder[$zahl]."\" width=\"200\" und height=\"150\">";
?><br />
         Ordner zwei <br />
         <?php
chdir("Bild");
$bilder = glob('*');
mt_srand ((double)microtime()*1000000);
$zahl = mt_rand(0,(count($bilder) - 1));

echo "In diesem Ordner sind <b>$zahl</b> Bilder";
?>


jetzt kommen Fehlermeldungen ( siehe fabian.aweb.ch/monzuel/test.php)

wie bekomme ich diese weg?

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Oh je, das kann nichts werden... ;D

Bevor ich dir jetzt im Einzelnen erkläre, was warum und wie nicht funktioniert, hier das geänderte Skript:


<?php
chdir
("Bilder");
$bilder glob(&#39;*&#39;);

$nBilder count($bilder);

echo 
"Es sind <b>$nBilder</b> Bilder in diesem Ordner";
?></p>

         <p><?php
mt_srand 
((double)microtime()*1000000);
$zahl mt_rand(0,(count($bilder) - 1));

echo 
"<img src=\"http://fabian.aweb.ch/monzuel/Bilder/".$bilder[$zahl]."\" width=\"200\" und height=\"150\">";
?><br />
         Ordner zwei <br />
         <?php
echo "In diesem Ordner sind <b>$nBilder</b> Bilder";
?>


Und wie immer gibt's an dieser Stelle die obligatorische Standpauke von mir, dass du dich mit den Grundlagen der Sprache auseinandersetzen solltest, wenn du sie des öfteren einzusetzen gedenkst. ;)

greez 8)
JoSsiF

hehe besten dank, nur was habe ich dasmal wieder falsch gemacht?

<?php
       chdir("Bilder");
$bilder = glob('*');

$nBilder = count($bilder);
mt_srand ((double)microtime()*1000000);
$zahl = mt_rand(0,(count($bilder) - 1));

echo "<img src=\"http://fabian.aweb.ch/monzuel/Bilder/".$bilder[$zahl]."\" width=\"200\" und height=\"150\">";
?><br />
         Ordner eins <br />
         <?php
echo "In diesem Ordner sind <b>$nBilder</b> Bilder";
?> </p>
<p>
<?php
 chdir("pics");
$pics = glob('*');

$npics = count($pics);
mt_srand ((double)microtime()*1000000);
$zahl = mt_rand(0,(count($pics) - 1));

echo "<img src=\"http://fabian.aweb.ch/monzuel/Bilder/".$pics[$zahl]."\" width=\"200\" und height=\"150\">";
?><br />
         Ordner eins <br />
         <?php
echo "In diesem Ordner sind <b>$nBilder</b> Bilder";
?>


hmm... also ich möchte nämlich zwei Zufallsbilder untereinander  machen (bei denen die Bilder jeweils von einem anderen Ordner stammen) denn ich möchte nicht zweimal das selbe Bild haben  ;D man merkt ... ich bin ein Anfänger  ;D ???

also bei mir sieht es jetzt so aus:

<?php
      chdir("Bilder");
$bilder = glob('*');

$nBilder = count($bilder);
mt_srand ((double)microtime()*1000000);
$zahl = mt_rand(0,(count($bilder) - 1));

echo "<img src=\"http://fabian.aweb.ch/monzuel/Bilder/".$bilder[$zahl]."\" width=\"200\" und height=\"150\">";
?><br />
         Ordner zwei <br />
         <?php
echo "In diesem Ordner sind <b>$nBilder</b> Bilder";
?>&nbsp;</td>
           <td>&nbsp;</td>
          </tr>
         <tr>
         <td width="40"><img src="mm_spacer.gif" alt="" width="40" height="1" border="0" /></td>
         <td width="110" id="sidebar" class="smallText">
         
         

         <p>
      <?php

      chdir("images");[/color]
$bilder = glob('*');

$nBilder = count($bilder);
mt_srand ((double)microtime()*1000000);
$zahl = mt_rand(0,(count($bilder) - 1));

echo "<img src=\"http://fabian.aweb.ch/monzuel/pics/".$bilder[$zahl]."\" width=\"200\" und height=\"150\">";
?><br />
         Ordner zwei <br />
         <?php
echo "In diesem Ordner sind <b>$nBilder</b> Bilder";
?>


nur... er hat Probleme damit, dass zwei mal chdir() vorkommt Siehe hier!

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hast du dir schonmal die Fehlermeldung angeschaut? "No such file or directory" steht da. Man könnte meinen, dass der Verzeichniswechsel mit chdir() nicht erfolgreich war ;D

Zudem: beim 2. Versuch mit chdir() wechselst du ins Verzeichnis "images" (was an dieser Stelle scheinbar nicht existiert) und willst dann aber Bilder aus einem Verzeichnis "pics" ausgeben. Da stellt sich die Sinnfrage.

Nur mal als Hinweis am Rande: wenn du in ein Verzeichnis wechselst, dann bleibt während der Ausführungs des Skripts der Zeiger in diesem Verzeichnis. Wenn also "images" auf der selben Ebene liegt wie "Bilder" (vgl. Windows Explorer), dann musst du natürlich erstmal wieder aus "Bilder" rausgehen (mit chdir('..');).

Aha Thanks jetzt funzts!

 ;D


« Kann Seite in Google gefunden werdenProbleme mit HP (Mir fällt kein richtiger Betref ein) »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Ordner
Ordner sind Strukturelemente in einem Dateisystem, die  Dateien und andere Ordner organisieren und speichern können. Sie ermöglichen eine strukturierte und...

Verzeichnis
Verzeichnisse, oft auch als Ordner bezeichnet, sind essenzielle Strukturelemente in einem Dateisystem, um Dateien und andere Verzeichnisse übersichtlich zu organisie...

Graustufenbilder
Als Graustufenbilder bezeichnet man digitale Bilddateien. Graustufenbilder werden auch Halbtonbilder beziehungsweise 8-Bit-Bilder genannt. In Graustufenbilder muss ein Pi...