toppy Geschrieben 26. Juni 2006 Teilen Geschrieben 26. Juni 2006 Ich möchte gerne alle Bilder aus einem Ordner auf einer Webseite anzeigen lassen. Zur Zeit mach ich das noch so: <img src="ordner/1.gif"> <img src="ordner/2.gif"> <img src="ordner/3.gif"> ... Geht doch sicherlich auch einfacher Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SNOWMAN Geschrieben 26. Juni 2006 Teilen Geschrieben 26. Juni 2006 Mit PHP Einfach das Verzeichnis lesen und die gefundenen Dateien überprüfen ob es bilder sind (Endung .jpg .png etc.) und dann einfach ausgeben. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Robinayor_ Geschrieben 26. Juni 2006 Teilen Geschrieben 26. Juni 2006 Mhh.. Wisst ihr was mir grade so auffällt? Hier sind erschreckend viele andere Nürnberger ... Achso, ja zu deinem Problem; hier mal ein Ansatz: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="de"> <?php $titel='Meine Fotogalerie'; // Titel der Galerie $bilddatei='bild.txt'; // Datei mit den Bildinformationen $bildpfad='bilder'; // Unterverzeichnis, das die Bilder enthält $iconpfad='minibilder'; // Unterverzeichnis, das die Vorschaubilder enthält $grossbildpfad=''; // Falls nicht '', wird bei Klick auf Bild eine große Version aus diesem Verz. geladen $spalten=5; // Anzahl der Spalten in der Übersichtstabelle $faktor=5; // Verkleinerungsfaktor für die Icons $bildpraefix=''; // evtl. ein Präfix für alle Dateinamen $bildsuffix='.jpg'; // Dateiendung aller Bilder $prev=''; // Seite vor der Galerie $next=''; // Seite hinter der Galerie $up=''; // Übergeordnete Seite // -------- Ab hier nur mit Vorsicht ändern ------- $dir=''; $n=''; $letztesbild=''; $qs=$QUERY_STRING; //parse_str($QUERY_STRING); // Übernimmt den Bildnamen, falls übertragen import_request_variables('g',''); $dateiname=basename($_SERVER['PHP_SELF']); $qs=str_replace('letztesbild=ja','',$qs); $qs=str_replace('&&','&',$qs); $qs=ereg_replace('(^|&)n=[^&]*','',$qs); $qs=ereg_replace('^&','',$qs); if($qs){$pdateiname=$dateiname.'?'.$qs;} else{$pdateiname=$dateiname;}; $zusatztexte=3; // Anzahl der Zusatztexte $nr=0; $einzel=false; // falsch-Übersicht über alle Bilder $gbild=false; if($dir!=''){$dir=$dir.'/';}; $bilddatei=$dir.$bilddatei; $bildpfad=$dir.$bildpfad; $iconpfad=$dir.$iconpfad; if($grossbildpfad!=''){$gbild=true;}; $grossbildpfad=$dir.$grossbildpfad; $d=array(array("","","","","","","")); // liest die Bildbeschreibungsdatei aus if(file_exists($bilddatei)) { $f=fopen($bilddatei,'r'); if($f) { while (!feof($f)) { $test=fgetcsv($f,32000,chr(167)); if($test[0]!=''){array_push($d,$test);}; }; fclose($f); }; $max=count($d)-1; //Anzahl der Bilder if($letztesbild=='ja'){$n=$d[$max][0];}; if($n!=''){for($i=1;$i<=$max;$i++){if($n==$d[$i][0]){$einzel=true;$nr=$i;};};}; //bestimmt die Nr. des aktuellen Bildes if ($einzel){ // Initialisiert Daten für Einzelbildanzeige $beschreibung=$d[$nr][3]; $width=$d[$nr][1];if($width > 0){$width=' width="'.$width.'"';}else{$width='';}; $height=$d[$nr][2];if($height > 0){$height=' height="'.$height.'"';}else{$height='';}; $name=rawurlencode($d[$nr][0]); $zusatz=array(''); for($i=4;$i<$zusatztexte + 4;$i++){array_push($zusatz,$d[$nr][$i]);}; if($nr<$max){ $nname=$d[$nr+1][0]; $nachbeschreibung=$d[$nr+1][3]; $next=$dateiname.'?n='.$nname.(($qs=='') ? '' '&'.$qs)); } else{ }; if($nr>1){ $vname=$d[$nr-1][0]; $vorbeschreibung=$d[$nr-1][3]; $prev=$dateiname.'?n='.$vname.(($qs=='') ? '' '&'.$qs));;} else{$prev=$pdateiname;}; $up=$pdateiname; $stitel=$titel.' - '.$beschreibung; } else { // Initialisiert Daten für die Übersicht $beschreibung=''; $stitel=$titel; $next=$d[1][0];$next=$dateiname.'?n='.$next.(($qs=='') ? '' '&'.$qs)); }; ?> <head> <title><?php echo $stitel; ?></title> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> <meta name="description" content="<?php echo $beschreibung; ?>"> <meta name="keywords" content=""> <?php if($prev!='') { ?> <link rel="prev" href="<?php echo htmlentities($prev);?>"> <?php }; if($next!='') { ?> <link rel="next" href="<?php echo htmlentities($next);?>"> <?php }; if($up!='') { ?> <link rel="up" href="<?php echo htmlentities($up);?>"> <?php }; ?> <?php if($einzel) { ?> <link rel="section" href="<?php echo htmlentities($pdateiname);?>" title="<?php echo $titel;?>" ><?php };?> <link rel="stylesheet" type="text/css" href="stil.css" title="Standard"> </head> <body id="galerie"> <h1><?php echo $titel; ?></h1> <?php if($einzel){echo' <h2>'.$beschreibung.'</h2>';} ?> <?php if ($einzel) { // Anzeige des einzelnen Bildes echo ' <div class="bild"> '; if($gbild){ echo ' <a href="'.$grossbildpfad.'/'.$bildpraefix.$name.$bildsuffix.'"> '; }; ?> <img src="<?php echo $bildpfad.'/'.$bildpraefix.$name.$bildsuffix;?>" alt="<?php echo $beschreibung; ?>" <?php echo $width.$height; ?>> <?php if($gbild){echo ' </a>'; ?> <br><span>Für größere Version auf Bild klicken.</span> <?php }; echo ' </div> <div class="zusatz">'; if($zusatz[1]!=''){echo ' <p class="zusatz1">'.$zusatz[1].'</p>';}; if($zusatz[2]!=''){echo ' <p class="zusatz2">'.$zusatz[2].'</p>';}; if($zusatz[3]!=''){echo ' <p class="zusatz3 minitext">'.$zusatz[3].'</p>';}; echo ' </div> <div class="extra"> <p class="bildzahl">Bild '.$nr.' von '.$max.' </p> <p class="bildnavig">'; if($nr > 1){echo ' <a href="'.$dateiname.'?n='.$vname.(($qs=='') ? '' '&'.htmlentities($qs))).'" title="'.$vorbeschreibung.'">vorheriges Bild</a> ·';}; echo ' <a href="'.$pdateiname.'">Übersicht</a>'; if($nr < $max) {echo ' · <a href="'.$dateiname.'?n='.$nname.(($qs=='') ? '' '&'.htmlentities($qs))).'" title="'.$nachbeschreibung.'">nächstes Bild</a>';}; echo ' </p> </div>';} else { //Anzeige der Übersicht echo ' <div> <table summary="Tabellarische Übersicht der Bilder" class="fotos">'; $row=floor($max / $spalten); if ($row<1){$bild=0;}; for ($i=0;$i<$row;$i++){ //Tabellenzeile echo ' <tr>'; for ($j=1;$j<=$spalten;$j++){ // Tabellenzelle $bild=$spalten*$i+$j; $name=rawurlencode($d[$bild][0]); $width=round($d[$bild][1]/$faktor);if($width>0){$width=' width="'.$width.'"';}else{$width='';}; $height=round($d[$bild][2]/$faktor);if($height>0){$height=' height="'.$height.'"';}else{$height='';}; // Icons sind 1/faktor des Originalbildes $beschreibung=$d[$bild][3]; echo ' <td><a href="'.$dateiname.'?n='.$name.(($qs=='') ? '' '&'.htmlentities($qs))).'" title="'.$beschreibung.'">'; ?> <img src="<?php echo $iconpfad.'/'.$bildpraefix.$name.$bildsuffix;?>" alt="<?php echo $beschreibung;?>" <?php echo $width.$height;?>><?php echo '</a></td>';?> <?php }; echo ' </tr>' ; }; if ($bild<$max){ //letzte Tabellenzeile wird extra erzeugt $rest=$spalten-$max+$bild; echo ' <tr>'; for ($bild=$bild+1;$bild<=$max;$bild++){ $name=rawurlencode($d[$bild][0]); $width=round($d[$bild][1]/$faktor);if($width>0){$width=' width="'.$width.'"';}else{$width='';}; $height=round($d[$bild][2]/$faktor);if($height>0){$height=' height="'.$height.'"';}else{$height='';}; // Icons sind 1/faktor des Originalbildes $beschreibung=$d[$bild][3]; echo ' <td><a href="'.$dateiname.'?n='.$name.(($qs=='') ? '' '&'.htmlentities($qs))).'" title="'.$beschreibung.'">'; ?> <img src="<?php echo $iconpfad.'/'.$bildpraefix.$name.$bildsuffix;?>" alt="<?php echo $beschreibung;?>" <?php echo $width.$height;?>><?php echo '</a></td>';?> <?php }; echo ' <td colspan="'.$rest.'"></td> </tr>'; //leere Zelle umfaßt restliche Zellen }; echo ' </table>'; echo ' </div>'; }; ?> </body> <?php } else { ?> <head> <title><?php echo $stitel; ?></title> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> <meta name="description" content="<?php echo $beschreibung; ?>"> <meta name="keywords" content=""> <?php if($prev!='') { ?> <link rel="prev" href="<?php echo htmlentities($prev);?>"> <?php }; if($next!='') { ?> <link rel="next" href="<?php echo htmlentities($next);?>"> <?php }; if($up!='') { ?> <link rel="up" href="<?php echo htmlentities($up);?>"> <?php }; ?> <link rel="section" href="<?php echo htmlentities($pdateiname);?>" title="<?php echo $titel;?>" > <link rel="stylesheet" type="text/css" href="stil.css" title="Standard"> </head> <body id="galerie"> <h1>Fehler</h1> <p>Die Datei <em><?php echo $bilddatei;?></em> mit den Bilddaten konnte nicht geöffnet werden.</p> </body> <?php }; ?> </html> [/code] Hab' ich vor lange Zeit mal gemacht, schrecklicher Codestil, usw. Hoffe das tut's trotzdem mfl Robin Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
toppy Geschrieben 26. Juni 2006 Autor Teilen Geschrieben 26. Juni 2006 Webspace hat keine PHP-Unterstützung - hätte ich vielleicht erwähnen sollen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Robinayor_ Geschrieben 26. Juni 2006 Teilen Geschrieben 26. Juni 2006 Mhh, ok.. Dann würde ich mir eben irgend einen Scriptinterpreter lokal installieren und halt einfach alles in eine html-Datei ausgeben, sollte doch kein Problem sein. Wenn du Linux benutzt habe ich hier fertige Shellscripte die dir das machen, wenn du Windows benutzt musst du dich leider selber umschauen, aber ich wette, dass es da einige Freewareprogramme gibt mfl Robin Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SNOWMAN Geschrieben 26. Juni 2006 Teilen Geschrieben 26. Juni 2006 ach ich find den link grad nicht, aber man kann die "index of" seite, die der apache ausgibt, doch anpassen. jetzt wärs interessant ob ich da bilder nicht als link sondern als bild selber ausgeben kann? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
perdian Geschrieben 26. Juni 2006 Teilen Geschrieben 26. Juni 2006 Webspace hat keine PHP-UnterstützungEs muss nicht zwangsläufig PHP sein, aber irgendeine serverseitige Sprache wirst du verwenden müssen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Robinayor_ Geschrieben 26. Juni 2006 Teilen Geschrieben 26. Juni 2006 Mhh, gute Idee, aber leider nicht Möglich.. Du kannst zwar Header und Footer setzen (wie ich es hier auch machen) und die Icons ändern, aber Thumbnails erstellt der mod_autoindex dir (zumindest ohne ein extra Modul) nicht. Quelle mfl Robin Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Robinayor_ Geschrieben 26. Juni 2006 Teilen Geschrieben 26. Juni 2006 Hrm *durch Haare fahr* Es muss nicht zwangsläufig PHP sein, aber irgendeine serverseitige Sprache wirst du verwenden müssen. Quark. mfl Robin Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SNOWMAN Geschrieben 26. Juni 2006 Teilen Geschrieben 26. Juni 2006 Wenn man den Header der AutoIndex Dings selber definieren kann, dann kann ich doch n Javascript verwenden welches die Index Of Daten ausließt und beim finden eines Bildes die entsprechenden Tags setzt. Alternativ kann ich natürlich mit Javascript auch alle Elemente der Seite entfernen und somit wirklich nurnoch die Bilder anzeigen. Aber um da genaueres sagen zu können reicht mein Javascript wissen nicht aus. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Robinayor_ Geschrieben 26. Juni 2006 Teilen Geschrieben 26. Juni 2006 LOL! Das ist genauso krank wie genial! Klaro, die Indexes vom Apache haben 'nen ordentlich DOM-Baum. Möglich ist es also auf jeden Fall. Nur ob es wirklich die Methode ist, die man will ist fraglich. Aber SNOWMAN++ für die geekige Idee mfl Robin Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.