Autor |
Nachricht |
hellgold
Threadersteller
Dabei seit: 05.10.2006
Ort: Duesseldorf
Alter: 47
Geschlecht:
|
Verfasst Di 22.06.2010 12:54
Titel Per PHP Script Bild auf Seite bei Neuaufruf wechseln lassen? |
|
|
Hallo,
auf einer einfachen html/css Seite möchte ich gerne ein Bild, das in einem separaten (!) <div> liegt auswechseln lassen, so dass ein Besucher beim erneuten Aufrufen ein anderes Bild angezeigt bekommt.
Die Bilder liegen in einem Unterordner auf dem Webserver und werden in den benötigen Maßen als png hochgeladen. Das Script soll die Bilder also einfach per Zufall (oder auch in einer bestimmten Reichenfolge, wenn das leichter zu programmieren wäre) aufrufen/anzeigen.
Ich bin über google auf diese Möglichkeit gestoßen (http://www.flashhilfe.de/forum/serverseitige-programmierung/bilderwechsel-mit-php-138428-138428.html), der Post ist aber schon von 2005 und für mich auch nicht wirklich leicht verständlich zu Ende gebracht worden (bin nicht der PHP Spezialist).
Kann mir das jdm. einfach erklären oder netterweise direkt zusammenstellen?
Die Seite, um die es geht kann per PN angefragt werden, sie ist noch nicht publiziert und ich möchte sie hier ungern schon nennen.
Danke vielmals
HG
|
|
|
|
|
nel
Dabei seit: 18.09.2004
Ort: Köln
Alter: -
Geschlecht:
|
Verfasst Di 22.06.2010 12:59
Titel
|
|
|
http://www.google.de/search?q=php+random+image&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:de:official&client=firefox-a
link 1 ->
Description
Displays a random image on a web page. Images are selected from a folder of your choice.
The code
Code: |
<?php
/*
* Name your images 1.jpg, 2.jpg etc.
*
* Add this line to your page where you want the images to
* appear: <?php include "randomimage.php"; ?>
*/
// Change this to the total number of images in the folder
$total = "11";
// Change to the type of files to use eg. .jpg or .gif
$file_type = ".jpg";
// Change to the location of the folder containing the images
$image_folder = "images/random";
// You do not need to edit below this line
$start = "1";
$random = mt_rand($start, $total);
$image_name = $random . $file_type;
echo "<img src=\"$image_folder/$image_name\" alt=\"$image_name\" />";
?>
|
Get the code
Download the file to your computer: http://www.totallyphp.co.uk/download.php?name=random_image.php
wenn das script nicht deinen anforderungen entspricht einfach link2 bzw 3 bei google anklicken
Zuletzt bearbeitet von nel am Di 22.06.2010 13:02, insgesamt 2-mal bearbeitet
|
|
|
|
|
Anzeige
|
|
|
hellgold
Threadersteller
Dabei seit: 05.10.2006
Ort: Duesseldorf
Alter: 47
Geschlecht:
|
Verfasst Di 22.06.2010 13:04
Titel allright |
|
|
aehm, ja...
Ich wusste nicht, das sich diese Funktion random nennt, dann hätte ich das vielleicht auch gleich direkt gefunden.
Problem bleibt jetzt aber noch, wie ich das einbinde, mir fehlen da einfache die Kenntnisse. Vielleicht ist doch noch jdm. so nett, mir das zu erklären ohne gleich drauf hinzuweisen das PHP-Handbuch/-Webseite zu lesen...
Wäre nett.
Ich hab also hier die html datei (css ausgelagert), und dann den PHP Code. Wie bringe ich das zusammen, das es funktioniert?
Danke
HG
|
|
|
|
|
choise
Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht:
|
Verfasst Di 22.06.2010 13:05
Titel
|
|
|
naja beim obigen code wird allerdings nicht der ordner ausgelesen, sondern man müsste das script jedes mal neu anpassen, wenn ein bild hinzukommt.
benutzte zb die funktion dir, filtere "." und ".." heraus, lege die dateinamen in ein array, ermittle die array größe per count und nimm diese zahl um mit rand ein zufälliges bild zu ermitteln.
probiers aus, poste deinen code wenn du nicht weiterkommst.
// oh mit deinen kentnissen wirds dann wohl doch noch etwas ausführlicher sein müssen
muss es unbedingt PHP sein?
muss der ordner automatisch ausgelesen werden oder werden da 1x bilder eingesetzt und diese sollen dann zufällig laufen?
weil dann könntest du auch javascript verwenden und hättest keine probleme damit, deine datei erstmal in php umbenennen zu müssen, oder html mit php parsen zu müssen.
Zuletzt bearbeitet von choise am Di 22.06.2010 13:08, insgesamt 1-mal bearbeitet
|
|
|
|
|
hellgold
Threadersteller
Dabei seit: 05.10.2006
Ort: Duesseldorf
Alter: 47
Geschlecht:
|
Verfasst Di 22.06.2010 13:21
Titel
|
|
|
hallo und danke für die schnelle antwort.
Ich kann leider selbst kein php schreiben, daher bin ich auf Hilfe angewiesen.
Javascript würde ich ungerne einsetzten.
Aktuell soll der Ordner aus dem die Bilder stammen einmal befüllt werden und gut. Eleganter und weniger aufwändig wäre es natürlich, wenn ich dahinein Bilder packen kann egal welcher Art und Benamung.
Gerade versuche ich es hiermit:
<?php
/* Simplest Random Image Rotator Script by Johannes Ries (johannesries.de) */
$randomimgnumber = mt_rand(01,20);
echo '<img src="http://www.url.de/images/zufallsbild/'.$randomimgnumber.'.jpg"
alt="Zufallsbild" />';
?>
und diesem html-eintrag hier (in der Datei index.php)
<div id="zufallsbild">
<img scr="http://www.url.de/php/randomizer.php" alt="Zufallsbild" title="Zufallsbild" width="364" height="324" />
</div>
Klappt nur nich...
Gruß
HG
|
|
|
|
|
sahnemuh
Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 42
Geschlecht:
|
|
|
|
|
hellgold
Threadersteller
Dabei seit: 05.10.2006
Ort: Duesseldorf
Alter: 47
Geschlecht:
|
Verfasst Di 22.06.2010 14:20
Titel
|
|
|
Hallo,
danke für die Links. Den ersten habe ich jetzt mal umgesetzt, geht aber immer noch nicht...
In der html-datei mache ich folgendes:
<div id="zufallsbild">
<img scr="http://www.url.de/images/zufallsbild/rotate.php" width="364" height="324" alt="Zufallsbild" title="Zufallsbild"/>
</div>
Die PHP Datei liegt jetzt im Ordner http://www.url.de/images/zufallsbild/, der darin angebene Ordner für die Bilder zeigt auf ’.’ also denselben in dem das script liegt.
Die PHP Datei sieht so aus:
<?php
$folder = '.';
$extList = array();
$extList['gif'] = 'image/gif';
$extList['jpg'] = 'image/jpeg';
$extList['jpeg'] = 'image/jpeg';
$extList['jpg'] = 'image/jpg';
$extList['png'] = 'image/png';
$img = null;
if (substr($folder,-1) != '/') {
$folder = $folder.'/';
}
if (isset($_GET['img'])) {
$imageInfo = pathinfo($_GET['img']);
if (
isset( $extList[ strtolower( $imageInfo['extension'] ) ] ) &&
file_exists( $folder.$imageInfo['basename'] )
) {
$img = $folder.$imageInfo['basename'];
}
} else {
$fileList = array();
$handle = opendir($folder);
while ( false !== ( $file = readdir($handle) ) ) {
$file_info = pathinfo($file);
if (
isset( $extList[ strtolower( $file_info['extension'] ) ] )
) {
$fileList[] = $file;
}
}
closedir($handle);
if (count($fileList) > 0) {
$imageNumber = time() % count($fileList);
$img = $folder.$fileList[$imageNumber];
}
}
if ($img!=null) {
$imageInfo = pathinfo($img);
$contentType = 'Content-type: '.$extList[ $imageInfo['extension'] ];
header ($contentType);
readfile($img);
} else {
if ( function_exists('imagecreate') ) {
header ("Content-type: image/png");
$im = @imagecreate (100, 100)
or die ("Cannot initialize new GD image stream");
$background_color = imagecolorallocate ($im, 129, 129, 129);
$text_color = imagecolorallocate ($im, 0,0,0);
imagestring ($im, 2, 5, 5, "IMAGE ERROR", $text_color);
imagepng ($im);
imagedestroy($im);
}
}
?>
In der index.php erhalte ich nur die Ausgabe Zufallsbild, aber kein Bild selbst...
Was funktioniert nicht?
Gruß
HG
|
|
|
|
|
choise
Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht:
|
Verfasst Di 22.06.2010 14:28
Titel
|
|
|
was kommt wenn du die datei "http://www.url.de/images/zufallsbild/rotate.php" direkt aufrufst?
eine fehlerausgabe? wenn ja, welche?
|
|
|
|
|
|
|
|
Ähnliche Themen |
JAVA SCRIPT bild über ne html seite erscheinen lassen?
Java Script Code zum wechseln zwischen Mac und Windows
Div (Hintergund)bild(er) alle paar Sekunden wechseln lassen
script in dieser Seite?
ein PN script für eine seite
Script um Frame Seite auf bestimmte Größe zu öffnen
|
|