• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[php] random header pic

birdy

New member
random header pic

hallo!

beim bau einer neuen seite möchte ich eine top-header grafik - z.b. 950 x 300 px gross - in 20 verschiedenen versionen auf den server packen und "randomly", bei jedem reload der seite, ein anderes nach dem zufallsprinzip erscheinen lassen.

ich finde aber im netz kein script dafür :( ... kann mir einer helfen??

danke,

ingo
 
AW: random header pic

hallo birdy, dich hat man ja auch schon länger nicht mehr hier gesehen...
ich würde mit was serverseitigem arbeiten, dann klappts auch ohne javascript.
PHP:
$pics = array("eins.png", "zwei.png", "drei.png", "vier.png");
echo '<img src="'.$pics[mt_rand(0, count($pics)-1)].'" width="950" height="300" alt="headerpic" />';
*ausdemärmelgeschüttelt*
 
AW: random header pic

hilfäää ... ich bin in sowas total blöd, wie mache ich das genau? :confused:
 
AW: random header pic

vorausgesetzt, dass dein server php unterstützt, pflanzt du folgenden code dorthin, wo das zufällige bild erscheinen soll. die datei muss mit *.php enden. die bildnamen und -pfade musst du noch anpassen. (relativ zu dem verzeichnis, in dem die php-datei liegt)
PHP:
<?php
$pics = array("eins.png", "zwei.png", "drei.png", "vier.png");
echo '<img src="'.$pics[mt_rand(0, count($pics)-1)].'" width="950" height="300" alt="headerpic" />';
?>
 
AW: random header pic

das wäre geschafft (www.ingovogelmann.com), jetzt frage ich mich nur, wie das script alle bilder in dem verzeichnis automatsich ''randomed', ohne das ich immer den code ändern muss, nur bilder auf den ftp und basta.
 
Moin!

Verschoben, da der Thread nun wirklich nicht mehr das Geringste mit Javascript zu tun hat...

Ahoi - Pit
 
AW: random header pic

PHP:
<?php

if ($handle = opendir('/pfad/zu/den/grafiken')) {
   while (false !== ($file = readdir($handle))) {
       if ($file != "." && $file != "..") {
           $pics [] = "$file\n";
       }
   }
   closedir($handle);
}

echo '<img src="'.$pics[mt_rand(0, count($pics)-1)].'" width="950" height="300" alt="headerpic" />';
?>

Sollte so funktionieren wenn im Verzeichniss nur Grafikdateien liegen.
 
Warning: opendir(): open_basedir restriction in effect. File(/hpics) is not within the allowed path(s): (/home/www/vhosts/ingovogelmann.com/httpdocs:/tmp) in /home/www/vhosts/ingovogelmann.com/httpdocs/index.php on line 75

Warning: opendir(/hpics): failed to open dir: Operation not permitted in /home/www/vhosts/ingovogelmann.com/httpdocs/index.php on line 75

wat will der von mir?
 
der pfad sollte absolut oder relativ angegeben werden. du versuchst das zweite mit der notation des ersteren. das kann nicht funktionieren.
ausserdem sollte $pics zuerst definiert werden, bevor das array gefüllt wird.
PHP:
<?php

if ($handle = opendir('./hpics')) {
   $pics = array();
   while (false !== ($file = readdir($handle))) {
       if ($file != '.' && $file != '..') {
           $pics[] = $file;
       }
   }
   closedir($handle);
}

echo '<img src="'.$pics[mt_rand(0, count($pics)-1)].'" width="950" height="300" alt="headerpic" />';
?>
[edit]die newline bei "$pics[] = $file;" hat dir die sache versaut.[/edit]
 
Zuletzt bearbeitet:
nichts davon verstehe ich wirklich.

der pfad sollte absolut oder relativ angegeben werden. du versuchst das zweite mit der notation des ersteren. das kann nicht funktionieren.
ausserdem sollte $pics zuerst definiert werden, bevor das array gefüllt wird.

habe den code jetzt so drin, wie du in gepostet hast, bild kommt nicht :(
 
ist ja logisch dass das nicht geht, denn im <img>-tag stimmt der pfad ja nicht...

PHP:
<?php

if ($handle = opendir('./hpics')) {
   $pics = array();
   while (false !== ($file = readdir($handle))) {
       if ($file != '.' && $file != '..') {
           $pics[] = $file;
       }
   }
   closedir($handle);
}

echo '<img src="hpics/'.$pics[mt_rand(0, count($pics)-1)].'" width="950" height="300" alt="headerpic" />';
?>
 
hahahaha, ich bin sooo dämlich ... hab echt keine ahnung davon. danke dir, klappt jetzt :eek:)

super danke an euch beide, jetzt brauche ich nur noch das dir mit grafiken vollzubomben und fertig :eek:))
 
Zurück
Oben