Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » PHP & MySQL » Folgendes Problem ! Antworten
Folgendes Problem !

2muerte
Pixelschubser


Beiträge: 13


Hi ich benutze folgendes script um ein randombild auf meiner Starseite anzeigen zu lassen.

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34:
<?php
//##### Konfiguration ##################################################
//Verzeichnis ausgehend von Installationsverzeichnis der PHPKIT-Software

$pic_dir="bilder/bilder/Holland_2003"; 		//ohne abschließenden Slash
$picext="";			//Dateiendung für das Vorschaubild

$pic_config=1;				//für feste Bildgröße 1, 
						//für automatische Ermittlung 0
//Bildgröße bei fester Bildgröße ($pic_config=1;)
$pic_width="135";				//Bildhöhe
$pic_height="110";			//Bildbreite
//######################################################################

$a=opendir($pic_dir);
while ($datei=readdir($a)) 
	{
	if (eregi(".jpg|.gif|.png",$datei) && !eregi($picext,$datei))
		{
		$pic=explode(".",$datei);
		if (@file_exists("".$pic_dir."/".$pic[0]."".$picext.".".$pic[1])) {$pic_cache[]=$pic;}
		unset($pic);
		}
	}
closedir($a);
if (is_array($pic_cache)) 
	{
	shuffle($pic_cache);
	$pic=$pic_cache[0];
	if ($pic_config==1) {$imagesize=" height=\"".$pic_height."\" width=\"".$pic_width."\"";}
	else {$imagesize=@getimagesize("".$pic_dir."/".$pic[0]."".$picext.".".$pic[1].""); $imagesize=$imagesize[3];}
	$boxlinks[]="<a target=\"_blank\" href=\"".$pic_dir."/".$pic[0].".".$pic[1]."\"><img border=\"0\" $imagesize alt=\"Zum verg&ouml;ßern anklicken\" src=\"".$pic_dir."/".$pic[0]."".$picext.".".$pic[1]."\" /></a>";
	}
?>


So nun mein Problem:
Wenn ich ein Vorschaubild(also das randombild) auf der seite anzeigen lassen will, dann muss ich normalerweise erstmal ein kleines bild davon haben(Zeile 5)
Mann kann dieses umgehen indem ich einfach nichts reinschreibe dann nimmt es immer das Originalbild.
Nur leider kommt dann folgender Fehler !

Warning: eregi(): REG_EMPTY in /home/muerte/public_html/navigation/navbox.picofmoment.php on line 18
Bitte um hilfe....
Danke an alle die helfen

Diese Nachricht wurde geändert von: languitar
  Profil   E-Mail   Editieren   Zitieren

Al Blank
Quasselstrippe


Beiträge: 368


Hi,

das schaut ja mords kompliziert aus für ein Random-Bild!

Mann kann dieses umgehen indem ich einfach nichts reinschreibe


Wenn Du eh kein Vorschaubild brauchst, dann könnte ja vielleicht das wesentlich kürzere Script was für Dich sein.

Einfach einsetzen wo das Bild sein soll. Wenn Du nichts veränderst, dann wird ein Random Image bei jedem Neuladen der Seite angezeigt.

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10:
<script language="JavaScript">
  var j, KW_ARI= new Array()
  KW_ARI[KW_ARI.length]='img/bla1.gif';
  KW_ARI[KW_ARI.length]='img/bla2.gif';
  KW_ARI[KW_ARI.length]='img/bla3.gif';
  // hier Deine weiteren Bilder rein
  j=parseInt(Math.random()*KW_ARI.length);
  j=(isNaN(j))?0:j;
    document.write("<img src='"+KW_ARI[j]+"'>");
</script>


Wenn das nicht das richtige ist, dann müßtest Du vielleicht genauer erklären wie dein Script genau arbeiten soll.

Diese Nachricht wurde geändert von: Al Blank
  Profil   Editieren   Zitieren

2muerte
Pixelschubser


Beiträge: 13


Also:
Ich habe einen Ordner mit VIELEN bildern drinn, daraus soll sich das modul ein randombild raussuchen und es auf meiner seite zeigen !

  Profil   E-Mail   Editieren   Zitieren

languitar
Foren-Team


Beiträge: 2795



  Profil   E-Mail   Website   Editieren   Zitieren

2muerte
Pixelschubser


Beiträge: 13


leider kommt dann auch ein fehler !
Wenn ich den Code benutze !
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18:
<?php
$verzeichnis = "bilder/bilder/Kiel/";
$array_types = array('jpg' , 'png');
$dir = opendir("$verzeichnis");
while (($file = readdir($dir)) != false) {
    if (preg_match("/^index/", $file)) continue;
    if (preg_match("/..?$/", $file)) continue;
    foreach($array_types as $typ) {
         if (preg_match("/.".$typ."$/i", $file)) $dateien[] = $file;
    };
};
$zufall = array_rand($dateien);
$bild = "$dateien[$zufall]";
$size = @getimagesize("$verzeichnis"."$bild");
$breite = $size[0];
$hoehe = $size[1];
echo "<img src=\"$verzeichnis$bild\" width=\"$breite\" height=\"$hoehe\" border=\"0\">";
?>


Warning: array_rand(): First argument has to be an array in /home/muerte/public_html/navigation/navbox.test.php on line 12

Diese Nachricht wurde geändert von: languitar
  Profil   E-Mail   Editieren   Zitieren

languitar
Foren-Team


Beiträge: 2795


Dann ist dein Verzeichnis wohl leer. Überprüf mal die Pfadangaben und beachte, dass wenn du die Datei inkludierst, du von der Datei mit dem include-Befehl ausgehen musst!

---
Take a look here!
Lichtblick - Einblick - Ausblick

  Profil   E-Mail   Website   Editieren   Zitieren

2muerte
Pixelschubser


Beiträge: 13


ne geht trotzdem nicht. alsoich habe das verzeichnis
bilder/bilder/Kiel/

da sind ungefähr 40 Bilder drinn also muesste das doch gehen !
Mein quellcode sieht so aus !
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18:
<?php
$verzeichnis = "bilder/bilder/Kiel/";
$array_types = array('jpg' , 'png');
$dir = opendir("$verzeichnis");
while (($file = readdir($dir)) != false) {
    if (preg_match("/^index/", $file)) continue;
    if (preg_match("/..?$/", $file)) continue;
    foreach($array_types as $typ) {
         if (preg_match("/.".$typ."$/i", $file)) $dateien[] = $file;
    };
};
$zufall = array_rand($dateien);
$bild = "$dateien[$zufall]";
$size = @getimagesize("$verzeichnis"."$bild");
$breite = $size[0];
$hoehe = $size[1];
echo "<img src=\"$verzeichnis$bild\" width=\"$breite\" height=\"$hoehe\" border=\"0\">";
?>


und die bilder haben die Endung *.jpg

Also was nun ?

Diese Nachricht wurde geändert von: languitar
  Profil   E-Mail   Editieren   Zitieren

languitar
Foren-Team


Beiträge: 2795


In welchem verzeichnis liegt denn die datei, von der du das aufrufst?

btw: Benutz doch mal den Code-Tag!

---
Take a look here!
Lichtblick - Einblick - Ausblick

  Profil   E-Mail   Website   Editieren   Zitieren

2muerte
Pixelschubser


Beiträge: 13


also :

Diese datei mit dem script liegt in
navigation/

meine bilder sind in

bilder/bilder/Kiel/

Das ist alles oder ?

  Profil   E-Mail   Editieren   Zitieren

languitar
Foren-Team


Beiträge: 2795


Ja, da is der haken. wie soll der denn so in das Bilderverzeichnis kommen? Der geht doch immer von dem Verzeichnis aus, in dem die Datei liegt. Probier mal als Verzeichnis
1:
$verzeichnis = $_SERVER['DOCUMENT_ROOT'].'/bilder/bilder/kiel/;


---
Take a look here!
Lichtblick - Einblick - Ausblick

  Profil   E-Mail   Website   Editieren   Zitieren
 

Antworten
Nach oben