Computerhilfen.de

Design und Entwicklung => Webmaster Forum & Hilfe => Thema gestartet von: Fabian Weber am 09.09.06, 12:58:37

Titel: Hilfe Zufallsbilder
Beitrag von: Fabian Weber am 09.09.06, 12:58:37
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? 
Titel: Re: Hilfe Zufallsbilder
Beitrag von: JoSsiF am 09.09.06, 13:13:05
Hi |

Einfach mit chdir() ins betreffende Verzeichnis (http://www.computerhilfen.de/fachbegriffe-v-Verzeichnis.html) wechseln und dann mit glob() den Verzeichnisinhalt in ein Array einlesen.

greez 8)
JoSsiF
Titel: Re: Hilfe Zufallsbilder
Beitrag von: Fabian Weber am 09.09.06, 16:43:36
AH thanks

sorry da ich ein anfänger bin... könnte mir jemand den script posten? greez
Titel: Re: Hilfe Zufallsbilder
Beitrag von: JoSsiF am 09.09.06, 16:48:24
Nehmen wir an, die Bilder liegen auf dem Server (http://www.computerhilfen.de/fachbegriffe-s-Server.html) im Unterverzeichnis images:


chdir('images');
$bilder = glob('*');


Wenn alles jpg-Dateien im Verzeichnis (http://www.computerhilfen.de/fachbegriffe-v-Verzeichnis.html) liegen, kannst du '*' auch mit 'jpg' ersetzen und dadurch vermeiden, dass typfremde Dateien mit ins Array geladen werden.

greez 8)
JoSsiF
Titel: Re: Hilfe Zufallsbilder
Beitrag von: Fabian Weber am 09.09.06, 16:55:32
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\">";
?>
Titel: Re: Hilfe Zufallsbilder
Beitrag von: fubu100 am 09.09.06, 17:10:11
Denn bei mir zeigt es so eine Fehlermeldung an...
Titel: Re: Hilfe Zufallsbilder
Beitrag von: JoSsiF am 09.09.06, 17:21:42
Ja und wie lautet die Fehlermeldung?
Titel: Re: Hilfe Zufallsbilder
Beitrag von: fubu100 am 09.09.06, 17:30:32
Ah sorry diese Frage war ein bisschen dumm ich habe das Verzeichnis (http://www.computerhilfen.de/fachbegriffe-v-Verzeichnis.html) nicht von images zu Bilder ersetzt

Titel: Re: Hilfe Zufallsbilder
Beitrag von: JoSsiF am 09.09.06, 17:35:35
Nuja, passiert ;)

Wenn's dann geht, isses ja ok.
Titel: Re: Hilfe Zufallsbilder
Beitrag von: fubu100 am 09.09.06, 17:41:44
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 (http://fabian.aweb.ch/monzuel/test.php))

wie bekomme ich diese weg?
Titel: Re: Hilfe Zufallsbilder
Beitrag von: JoSsiF am 09.09.06, 17:51:13
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('*');

$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
Titel: Re: Hilfe Zufallsbilder
Beitrag von: fubu100 am 10.09.06, 14:20:48
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 ???
Titel: Re: Hilfe Zufallsbilder
Beitrag von: fubu100 am 10.09.06, 16:36:50
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! (http://fabian.aweb.ch/monzuel/test.php)
Titel: Re: Hilfe Zufallsbilder
Beitrag von: JoSsiF am 10.09.06, 16:51:03
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 (http://www.computerhilfen.de/fachbegriffe-v-Verzeichnis.html) "images" (was an dieser Stelle scheinbar nicht existiert) und willst dann aber Bilder aus einem Verzeichnis (http://www.computerhilfen.de/fachbegriffe-v-Verzeichnis.html) "pics" ausgeben. Da stellt sich die Sinnfrage.

Nur mal als Hinweis am Rande: wenn du in ein Verzeichnis (http://www.computerhilfen.de/fachbegriffe-v-Verzeichnis.html) wechselst, dann bleibt während der Ausführungs des Skripts der Zeiger in diesem Verzeichnis. (http://www.computerhilfen.de/fachbegriffe-v-Verzeichnis.html) Wenn also "images" auf der selben Ebene liegt wie "Bilder" (vgl. Windows (http://www.computerhilfen.de/fachbegriffe-w-Windows.html) Explorer), dann musst du natürlich erstmal wieder aus "Bilder" rausgehen (mit chdir('..');).
Titel: Re: Hilfe Zufallsbilder
Beitrag von: fubu100 am 10.09.06, 16:59:25
Aha Thanks jetzt funzts!

 ;D
Titel: Re: Hilfe Zufallsbilder
Beitrag von: fubu100 am 10.09.06, 18:36:22
Euh! noch eine Frage... hat zwar nichts mit diesem Thama zu tun aber wie kann ich einen html (http://www.computerhilfen.de/fachbegriffe-h-HTML.html) code in einem php code ausgeben?

if ()
{
(html-code)
}
Titel: Re: Hilfe Zufallsbilder
Beitrag von: JoSsiF am 11.09.06, 10:27:41
Du könntest just for fun mal einen Blick auf dein bisheriges Skript werfen, da wird das nämlich schon gemacht!!  ::)