WinFuture-Forum.de: Php - Bilder Zufällig Ausgeben - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Php - Bilder Zufällig Ausgeben


#1 Mitglied ist offline   Dyon 

  • Gruppe: aktive Mitglieder
  • Beiträge: 125
  • Beigetreten: 04. April 08
  • Reputation: 0

geschrieben 27. Dezember 2008 - 16:34

Hallo zusammen,

Ich habe eine Seite einer SMV die ich gerade schreibe. Nun habe ich auf der einen Seite so Kästen wo Neuigkeiten und so weiter angezeigt werden, in dem einen Kasten möchte ich immer beim laden der Seite ein Bild reinladen.
Es gibt einen Ordner und darin mehrere Galleryunterordner mit einer Bezeichnung, nun sollte per Zufall irgendein Bild ausgewählt werden, kann mir da jemand helfen?
Komm grad dooferweise nicht darauf wie ich anfangen soll.
Der Link dann zum Galleryscript mit der richtigen Gallery krieg ich dann selber hin.


Danke
0

Anzeige



#2 Mitglied ist offline   Gitarremann 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.233
  • Beigetreten: 04. Juni 06
  • Reputation: 3
  • Geschlecht:Männlich
  • Wohnort:Trebnitz

geschrieben 27. Dezember 2008 - 16:40

Kannst du die Dateinamen der Bilder beliebig beeinflussen? Dann wäre es am einfachsten, die Bilder durchzunummerieren und im Anzeigescript einfach eine Zufallszahl aus dem Bereich zu erzeugen und diese in den Pfad einzusetzen. Ansonsten den Ordner auslesen, wie viele Dateien drin sind, eine Zufallzahl x erzeugen und die x-te Datei anzeigen.
Der Pessimist sagt: "Das Glas ist halb leer,"
Der Optimist sagt: "Das Glas ist halb voll."
Der Realist sagt: "Bedienung, zwei Neue!"
0

#3 Mitglied ist offline   Dyon 

  • Gruppe: aktive Mitglieder
  • Beiträge: 125
  • Beigetreten: 04. April 08
  • Reputation: 0

geschrieben 27. Dezember 2008 - 16:54

das problem ist halt, dass ich einen ordner habe, in dem sind auch verschiedene ordner.
Also müsste man ja zuerst einen zufälligen ordner wählen.
die Dateinamen sind durchnummeriert jeweils in einem Ordner.
Die Ordner Namen sind fest.
0

#4 Mitglied ist offline   Witi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.712
  • Beigetreten: 13. Dezember 04
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Kingsvillage
  • Interessen:Frickeln

geschrieben 27. Dezember 2008 - 18:18

Dateinamen/-pfade in ein Array laden und die Indizes zufällig ansprechen.
0

#5 Mitglied ist offline   RebelSoldier 

  • Gruppe: aktive Mitglieder
  • Beiträge: 41
  • Beigetreten: 28. Februar 07
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 27. Dezember 2008 - 19:54

Edit:
Ich seh gerade, dass du mehrere Unterordner einsetzt. Sorry, muss ich überlesen haben beim ersten Mal :unsure:. Das Script funktioniert so nur bei einem Ordner.

<?php

$Verzeichnis = "images"; // Verzeichnis entsprechend abändern
 
if($Verzeichniszeiger = opendir($Verzeichnis))
{
	while($Datei = readdir($Verzeichniszeiger))
	{
		if(!is_dir($Datei))
		{
			$Dateien[] = $Datei;
		}
	}

	closedir($Verzeichniszeiger);
}

echo"<img alt=\"Zufallsbild\" src=\"",
	$Verzeichnis,
	"/",
	$Dateien[rand(0, count($Dateien)-1)],
	"\" width=\"100\" height=\"100\">";

?>


width und height sind noch entsprächend abzuändern, genau so wie oben das Verzeichnis, wo die Bilder drin sind.

Beim Reload der Seite wird dann auch ein neues Bild ausgewählt. Einen automatischen Reload (wenn erwünscht), könnte man z.B. mit nem forward im <head>...</head> hinbekommen.

Dieser Beitrag wurde von RebelSoldier bearbeitet: 27. Dezember 2008 - 19:58

Webmasterparadies.de - everything for your web-start
https://webmasterparadies.de/
0

#6 Mitglied ist offline   Dyon 

  • Gruppe: aktive Mitglieder
  • Beiträge: 125
  • Beigetreten: 04. April 08
  • Reputation: 0

geschrieben 28. Dezember 2008 - 11:19

Danke für des Script.
Aber bei mir wählt des jetzt immer nur aus einem bestimmten Ordner die Bilder, also der Ordner wird nicht zufällig angegeben
0

#7 Mitglied ist offline   RebelSoldier 

  • Gruppe: aktive Mitglieder
  • Beiträge: 41
  • Beigetreten: 28. Februar 07
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 28. Dezember 2008 - 17:29

Das habe ich ja noch mal im Edit dazu geschrieben. Hatte bei deinem ersten Posting überlesen, dass du ja auch mehrere Ordner hast. Das Script wählt nur aus einem Ordner aus.

Allerdings habe ich mich gerade mal ein wenig umgeschaut und auf einer anderen Webseite folgendes Code-Schnipsel gefunden:

$bilder = glob( "{zufallsbilder/landschaften/*.jpg,zufallsbilder/makros/*.jpg,zufallsbilder/tiere/*.jpg}", GLOB_BRACE );
shuffle( $bilder );
$bildinfo = getimagesize( $bilder[0] );
echo '<img src="' .$bilder[0]. '" ' .$bildinfo[3]. ' alt="Zufallsbild" />';


Hab ich allerdings auch nicht ausprobiert und weiß daher nicht, ob es funktioniert. Aber kannst du ja mal austesten und dann kurz Bescheid geben, ob es klappt. :blush:

Schönen Gruß,
Webmasterparadies.de - everything for your web-start
https://webmasterparadies.de/
0

#8 Mitglied ist offline   Dyon 

  • Gruppe: aktive Mitglieder
  • Beiträge: 125
  • Beigetreten: 04. April 08
  • Reputation: 0

geschrieben 28. Dezember 2008 - 18:09

Muss man aber auch wieder die verschiedenen Ordner reinschreiben in des Script.

Aber wenn ich das so anschau fällt mir ein, dass man zuerst die Ordnernamen einlesen könnte und dann daraus die bilder?
0

#9 Mitglied ist offline   Diewie 

  • Gruppe: aktive Mitglieder
  • Beiträge: 409
  • Beigetreten: 18. Juni 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Geisenhausen / München

geschrieben 28. Dezember 2008 - 18:36

Auf der Dokumentationsseite von glob() gibt es eine Rekursive Version in den Nutzerbeiträgen. Mit dieser brauchst du z.B. nur '*.jpg' angeben und alle Ordner werden durchsucht: rglob()

Effizienter wäre jedoch, dass du die Bilder regelmäßig indizieren lässt und dann z.B. einen zufälligen Eintrag aus einer Datenbank wählst.

Viele Grüße,
Stefan
0

#10 Mitglied ist offline   asko 

  • Gruppe: aktive Mitglieder
  • Beiträge: 144
  • Beigetreten: 17. November 02
  • Reputation: 0

geschrieben 28. Dezember 2008 - 23:41

 Zitat (RebelSoldier: 28.12.2008, 18:29)

... Allerdings habe ich mich gerade mal ein wenig umgeschaut und auf einer anderen Webseite folgendes Code-Schnipsel gefunden
.
.
.

Hab ich allerdings auch nicht ausprobiert und weiß daher nicht, ob es funktioniert. Aber kannst du ja mal austesten und dann kurz Bescheid geben, ob es klappt. :rolleyes:


Hättest ihm natürlich auch den Link zur Seite geben können, wo Du den Schnipsel herauskopiert hast. Dann hätte er zum einen auch die Erklärungen zum Verfahren erhalten und ebenso ein funktionsfähiges Demo-Script, was deinen "Hab's nicht ausprobiert..." Kommentar beantwortet hätte. :blink:
0

#11 Mitglied ist offline   RebelSoldier 

  • Gruppe: aktive Mitglieder
  • Beiträge: 41
  • Beigetreten: 28. Februar 07
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 29. Dezember 2008 - 21:58

 Zitat (asko: 28.12.2008, 23:41)

Hättest ihm natürlich auch den Link zur Seite geben können, wo Du den Schnipsel herauskopiert hast. Dann hätte er zum einen auch die Erklärungen zum Verfahren erhalten und ebenso ein funktionsfähiges Demo-Script, was deinen "Hab's nicht ausprobiert..." Kommentar beantwortet hätte. :)


Stimmt, an den Link hab ich nicht mehr gedacht, obwohl ich ihn eigentlich mit reinschreiben wollte ins Posting. Sorry :wink:
Webmasterparadies.de - everything for your web-start
https://webmasterparadies.de/
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0