Verfasst: Mo 7. Apr 2008, 20:25
Noch irgend eine Idee zur maximalen Verzeichnistiefe?
Das Diskussionsforum zum Open Source Content Management System
https://forum.contenido.org/
Code: Alles auswählen
<?php
$dateien = array();
$start=time();
get_dir("CMS_VALUE[1]",$start,"CMS_VAR[3]","CMS_VALUE[4]",0);
$breite = (int) "CMS_VALUE[2]";
#Was gefunden?
if (count($dateien) < 1)
{ echo "nix gefunden"; }
else
{ # Array sortieren
sort($dateien);
# Zufall
srand ((double) microtime() * 10000000);
$rand_keys = array_rand ($dateien, 2);
$Zufallsbild = $dateien[$rand_keys[0]];
$dimensions = GetImageSize($Zufallsbild);
echo "<div id=\"zbild\"><a href=\"$Zufallsbild\" target=\"_blank\">";
if ($dimensions[0] > $breite)
{ $divisor = $dimensions[0] / $breite;
$hoehe = (int) ($dimensions[1] / $divisor);
$thumb = capiImgScale ($Zufallsbild, $breite, $hoehe, false, false);
echo "<img src=\"$thumb\" width=\"$breite\" height=\"$hoehe\""; }
else
{ echo "<img src=\"$Zufallsbild\" width=\"$dimensions[0]\" height=\"$dimensions[1]\""; }
echo " style=\"border-width:1px; border-color:#000000;\" alt=\"Klick mich für eine Großansicht (neues Fenster)\"></a></div>\n";
}
function get_dir ($dir,$startzeit,$zeitlimit,$max_tiefe,$aktuelle_tiefe)
{ global $dateien;
$fp=opendir($dir);
while($datei=readdir($fp))
{ if (is_dir("$dir/$datei") && $datei!="." && $datei!="..")
{ $aktuelle_tiefe++;
if (time()-$starttime > $zeitlimit || $max_tiefe >= $aktuelle_tiefe)
{ get_dir("$dir/$datei",$startzeit,$zeitlimit,$max_tiefe,$aktuelle_tiefe); }
}
else
{ if (strlen($datei) > 4)
{ $ext = strtolower(substr($datei,-4));
if ($ext==".jpg" || $ext==".gif" || $ext=="jpeg" || $ext==".png")
{ $dateien[] = $dir . "/" . $datei; }
}
}
}
closedir($fp);
}
?>
Code: Alles auswählen
#zbild{
padding: 0;
margin: -5px 0 0 0;
}
Code: Alles auswählen
<?php
echo "<script>\n";
echo "function OpenNewWindow(Picture,Breit,Hoch)\n";
echo " { xsize = Breit+35;\n";
echo " ysize = Hoch+75;\n";
echo " ScreenWidth = screen.width;\n";
echo " ScreenHeight = screen.height;\n";
echo " xpos = (ScreenWidth/2)-(xsize/2);\n";
echo " ypos = (ScreenHeight/2)-(ysize/2);\n";
echo ' NewWindow=window.open("","Picture","height="+ysize+",width="+xsize+",scrollbars=no,resizable=no,top="+ypos+",left="+xpos+"");'."\n";
echo ' NewWindow.document.write ("<html><head><title>BILDANZEIGE");'."\n";
echo ' NewWindow.document.write ("</title></head>");'."\n";
echo ' NewWindow.document.write ("<body bgcolor=\'#cccccc\'>");'."\n";
echo ' NewWindow.document.write ("<table align=\'center\'><tr>");'."\n";
echo ' NewWindow.document.write ("<td align=\'center\' valign=\'top\'>");'."\n";
echo ' NewWindow.document.write ("<table border=\'1\' bgcolor=\'#000000\' cellpadding=\'0\' cellspacing=\'1\'><tr><td align=\'center\'>");'."\n";
echo ' NewWindow.document.write ("<img src=");'."\n";
echo ' NewWindow.document.write (Picture);'."\n";
echo ' NewWindow.document.write (">");'."\n";
echo ' NewWindow.document.write ("</tr></table>");'."\n";
echo ' NewWindow.document.write ("</td></tr><tr>");'."\n";
echo ' NewWindow.document.write ("<td align=\'center\' valign=\'bottom\'>");'."\n";
echo ' NewWindow.document.write ("<form><input type=\'button\' value=\'Fenster schliessen\' style=\'font-family: Verdana; font-size: 10px\' onClick=\'self.close()\'>");'."\n";
echo ' NewWindow.document.write ("</td></tr></table>");'."\n";
echo ' NewWindow.document.write ("</form></body></html>");'."\n";
echo ' NewWindow.document.close();'."\n";
echo " }\n";
echo "</script>\n";
$dateien = array();
$start=time();
get_dir("CMS_VALUE[1]",$start,"CMS_VAR[3]");
$maxbreite = (int) "CMS_VALUE[2]";
$maxhoehe = (int) "CMS_VALUE[4]";
#Was gefunden?
if (count($dateien) < 1)
{ echo "nix gefunden"; }
else
{ # Array sortieren
sort($dateien);
# Zufall
$Zufallsbild = "";
while ($Zufallsbild == "")
{ srand ((double) microtime() * 10000000);
$rand_keys = array_rand ($dateien, 2);
$bild = $dateien[$rand_keys[0]];
$dimensions = GetImageSize($bild);
if ($dimensions[0] > $dimensions[1]) {$Zufallsbild = $bild;}
}
$Internetpfad = "http://www.meinedomain.de/cms/" . substr($Zufallsbild,2);
echo "<div id=\"zbild\">";
if ($dimensions[0] > $maxbreite)
{ $divisor = $dimensions[0] / $maxbreite;
$hoehe = (int) ($dimensions[1] / $divisor);
if ($hoehe > $maxhoehe)
{ $divisor = $dimensions[1] / $maxhoehe;
$breite = (int) ($dimensions[0] / $divisor);
$hoehe = $maxhoehe; }
else
{ $breite = $maxbreite; }
$thumb = capiImgScale ($Zufallsbild, $breite, $hoehe, false, false);
echo '<a href="javascript:OpenNewWindow(\''.$Internetpfad.'\','.$dimensions[0].",".$dimensions[1].")\">\n";
echo "<img src=\"$thumb\" width=\"$breite\" height=\"$hoehe\"";
}
else
{ echo '<a href="javascript:OpenNewWindow(\''.$Internetpfad.'\','.$dimensions[0].",".$dimensions[1].")\">\n";
echo "<img src=\"$Zufallsbild\" width=\"$dimensions[0]\" height=\"$dimensions[1]\""; }
echo " style=\"border-width:1px; border-color:#000000;\" alt=\"Klick mich für eine Großansicht (neues Fenster)\"></a></div>\n";
}
function get_dir ($dir,$startzeit,$zeitlimit)
{ global $dateien;
$fp=opendir($dir);
while($datei=readdir($fp))
{ if (is_dir("$dir/$datei") && $datei!="." && $datei!="..")
{ if (time()-$starttime > $zeitlimit) get_dir("$dir/$datei",$startzeit,$zeitlimit); }
else
{ if (strlen($datei) > 4)
{ $ext = strtolower(substr($datei,-4));
if ($ext==".jpg" || $ext==".gif" || $ext=="jpeg" || $ext==".png")
{ $dateien[] = $dir . "/" . $datei; }
}
}
}
closedir($fp);
}
?>
Code: Alles auswählen
javascript:OpenNewWindow('http://www.dev.feuerwehr-barntrup.de/cms/cms/upload/bildergalerie/bilder/neuenknick2006/100606_Neuenknick_043.JPG',500,375)Habe es mit Verzeichnistiefen 1 und 0 versucht. Keine Änderung. Habs auch noch in einer Contenido-Umgebung ohne Mod Rewrite versucht. Geht dort leider auch nicht.Milly hat geschrieben:@Nebel
So ein PHP-Crack bin ich nun bei weitem nicht. Kann dir nicht sagen ob es mit dem "Mod Rewrite" zusammenhängt. Bei mir klappt es auf jeden Fall.
Hast du mal, zu Testzwecken, mit den Verzeichnistiefen 1 und 0 gearbeitet?
1. nein, kein popup - wird auch ncihts geblocktMilly hat geschrieben: @slecram
Das Popup geht bei mir sehr gut (IE 6 und 7).
1. Erscheint das PopUp bei dir überhaupt?
2. Bekommst du eine Fehlermeldung?
3. Welcher Browser?
4. Java ausgeschaltet?
Der Link scheint richtig zu sein, denn dieses Bild 'http://www.dev.feuerwehr-barntrup.de/cm ... ck_043.JPG' kann ich mir ansehen.
Grüße
Milly
Code: Alles auswählen
<?php
$dateien = array();
$start=time();
get_dir("CMS_VALUE[1]");
$breite = (int) "CMS_VALUE[2]";
#Was gefunden?
if (count($dateien) < 1)
{ echo "nix gefunden"; }
else
{ # Array sortieren
sort($dateien);
# Zufall
srand ((double) microtime() * 10000000);
$rand_keys = array_rand ($dateien, 2);
$Zufallsbild = $dateien[$rand_keys[0]];
$dimensions = GetImageSize($Zufallsbild);
echo "<div id=\"zbild\"><a href=\"$Zufallsbild\" target=\"_blank\">";
if ($dimensions[0] > $breite)
{ $divisor = $dimensions[0] / $breite;
$hoehe = (int) ($dimensions[1] / $divisor);
$thumb = capiImgScale ($Zufallsbild, $breite, $hoehe, false, false);
echo "<img src=\"$thumb\" width=\"$breite\" height=\"$hoehe\""; }
else
{ echo "<img src=\"$Zufallsbild\" width=\"$dimensions[0]\" height=\"$dimensions[1]\""; }
echo " style=\"border-width:1px; border-color:#000000;\" alt=\"Klick mich für eine Großansicht (neues Fenster)\"></a></div>\n";
}
function get_dir ($dir, $recurse=true, $depth=2)
{ global $dateien;
$fp=opendir($dir);
while($datei=readdir($fp))
{ if($recurse && is_readable("$dir$datei/")) {
if($depth === false) {
$dateien = array_merge($dateien, get_dir("$dir$datei/", true));
} elseif($depth > 0) {
$dateien = array_merge($dateien, get_dir("$dir$datei/", true, $depth-1));
}
elseif( strlen($datei) > 4)
{ $ext = strtolower(substr($datei,-4));
if ($ext==".jpg" || $ext==".gif" || $ext=="jpeg" || $ext==".png")
{ $dateien[] = $dir . "/" . $datei; }
}
}
}
closedir($fp);
}
?>
Code: Alles auswählen
$dateien = array_merge($dateien, get_dir("$dir$datei/", true));