mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Mi 24.04.2024 23:02 Benutzername: Passwort: Auto-Login

Thema: Per PHP Script Bild auf Seite bei Neuaufruf wechseln lassen? vom 22.06.2010


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Per PHP Script Bild auf Seite bei Neuaufruf wechseln lassen?
Seite: 1, 2  Weiter
Autor Nachricht
hellgold
Threadersteller

Dabei seit: 05.10.2006
Ort: Duesseldorf
Alter: 47
Geschlecht: Männlich
Verfasst Di 22.06.2010 12:54
Titel

Per PHP Script Bild auf Seite bei Neuaufruf wechseln lassen?

Antworten mit Zitat Zum Seitenanfang

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
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
nel

Dabei seit: 18.09.2004
Ort: Köln
Alter: -
Geschlecht: Männlich
Verfasst Di 22.06.2010 12:59
Titel

Antworten mit Zitat Zum Seitenanfang

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 * Ich bin ja schon still... *


Zuletzt bearbeitet von nel am Di 22.06.2010 13:02, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
Anzeige
Anzeige
hellgold
Threadersteller

Dabei seit: 05.10.2006
Ort: Duesseldorf
Alter: 47
Geschlecht: Männlich
Verfasst Di 22.06.2010 13:04
Titel

allright

Antworten mit Zitat Zum Seitenanfang

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
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
choise

Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht: Männlich
Verfasst Di 22.06.2010 13:05
Titel

Antworten mit Zitat Zum Seitenanfang

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
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
hellgold
Threadersteller

Dabei seit: 05.10.2006
Ort: Duesseldorf
Alter: 47
Geschlecht: Männlich
Verfasst Di 22.06.2010 13:21
Titel

Antworten mit Zitat Zum Seitenanfang

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
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
sahnemuh

Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 42
Geschlecht: Männlich
Verfasst Di 22.06.2010 13:28
Titel

Antworten mit Zitat Zum Seitenanfang

http://www.alistapart.com/articles/randomizer/

http://www.developertutorials.com/tutorials/php/show-random-images-050419-1261/

http://www.php.net/manual/de/function.readdir.php#90770


Zuletzt bearbeitet von sahnemuh am Di 22.06.2010 13:31, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
hellgold
Threadersteller

Dabei seit: 05.10.2006
Ort: Duesseldorf
Alter: 47
Geschlecht: Männlich
Verfasst Di 22.06.2010 14:20
Titel

Antworten mit Zitat Zum Seitenanfang

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
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
choise

Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht: Männlich
Verfasst Di 22.06.2010 14:28
Titel

Antworten mit Zitat Zum Seitenanfang

was kommt wenn du die datei "http://www.url.de/images/zufallsbild/rotate.php" direkt aufrufst?

eine fehlerausgabe? wenn ja, welche?
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ä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
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.