| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
frank Gast
|
Tabellen Breite definieren |
|
|
Hallihallo zusammen
hab mir von homepage-total.de dieses wunderbare script zum auslesen von dateien und deren anzeige gezogen, von dessen inhalt ich nach näherer betrachtung höchstens einen bruchteil verstehe. Nun möchte ich auch "nur" einen bruchteil ändern, da das script nur bei fehlermeldungen zum einsatz kommen soll.
Folgendes script liest also alle .gif, .png und .jpg-dateien aus dem ordner "ordnername" und zeigt sie dann, sortiert nach änderungsdatum in einer 4-spaltigen tabelle mit bild, dateiname, änderungsdatum und pixelgrösse an.
| PHP-Code: | 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 35 36
| <?php
// Bilder aus einem Verzeichnis auslesen
// und sortiert in einer Tabelle anzeigen
$bilderliste = array();
$verzeichnis = "ordnername/";
$handle = openDir($verzeichnis);
while ($datei = readDir($handle)) {
$verzeichnis_datei = $verzeichnis . $datei;
if ($datei != "." && $datei != ".." && !is_dir($datei)) {
if (strstr($datei, ".gif") || strstr($datei, ".png") || strstr($datei, ".jpg")) {
$info = getimagesize($verzeichnis_datei);
array_push($bilderliste, array(filemtime($verzeichnis_datei) , $verzeichnis_datei , $info[0] , $info[1]));
}
}
}
closeDir($handle);
rsort($bilderliste);
echo <<<EOT
<table border="1">
<tr>
<th>Bild</th> <th>Name</th> <th>Datum</th> <th>Pixel</th>
</tr>
EOT;
foreach ($bilderliste as $zaehler => $element) {
echo "<tr>";
echo "<th><img src=\"" . $bilderliste[$zaehler][1] . "\" width=\"" . $bilderliste[$zaehler][2] . "\" height=\"" . $bilderliste[$zaehler][3] . "\" alt=\"\"></th>";
echo "<td>" . str_replace($verzeichnis, "", $bilderliste[$zaehler][1]) . "</td>";
echo "<td>" . date("d.m.Y H:i", $bilderliste[$zaehler][0]) . "</td>";
echo "<td>" . $bilderliste[$zaehler][2] . " x ". $bilderliste[$zaehler][3] . "</td>";
echo "</tr>";
}
echo "</table>";
?> |
funktioniert auch einwandfrei. super sache.
Jetzt würde ich allerdings gerne die Größe und Position der generierten Tabelle selbst bestimmen. Im Moment wird die Größe durch das größte Bild im Ordner bestimmt. Ist es möglich, die Größe der einzelnen Spalten in px zu definieren und auch die (dargestellte) Größe des geladenen Bildes somit anzupassen???
Desweiteren habe ich noch keine Möglichkeit gefunden, weitere Ordner anzugeben ohne den ganzen php-block zu duplizieren. Bin mir aber ziemlich sicher, dass auch das irgendwie funktionieren sollte.
In freudiger Erwartung kompetenter Antworten und ergebener Dankbarkeit
grüßt
derFrank |
|
|
|
| 29 März 2010 09:54 |
|
  |
Werner Homepage-Total.de Moderator

|
 |
|
|
| PHP-Code: | 1 2 3 4 5
| <?php
echo "<th><img src=\"" . $bilderliste[$zaehler][1] . "\" width=\"25\" height=\"25\" alt=\"\"></th>";
// Oder
echo "<th><img src=\"" . $bilderliste[$zaehler][1] . "\" style='width: 25px; height: 25px;' alt=\"\"></th>";
?> |
| Zitat: | Desweiteren habe ich noch keine Möglichkeit gefunden,
weitere Ordner anzugeben ohne den ganzen php-block zu duplizieren.
Bin mir aber ziemlich sicher, dass auch das irgendwie funktionieren sollte. |
| PHP-Code: | 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 35 36 37 38 39 40 41
| <?php
// Bilder aus einem Verzeichnis auslesen
// und sortiert in einer Tabelle anzeigen
$verzeichnisse = array("ordnername/", "ordnername2/", "ordnername3/");
foreach ($verzeichnisse as $vz) {
$bilderliste = array();
$verzeichnis = $vz;
$handle = openDir($verzeichnis);
while ($datei = readDir($handle)) {
$verzeichnis_datei = $verzeichnis . $datei;
if ($datei != "." && $datei != ".." && !is_dir($datei)) {
if (strstr($datei, ".gif") || strstr($datei, ".png") || strstr($datei, ".jpg")) {
$info = getimagesize($verzeichnis_datei);
array_push($bilderliste, array(filemtime($verzeichnis_datei) , $verzeichnis_datei , $info[0] , $info[1]));
}
}
}
closeDir($handle);
rsort($bilderliste);
echo "
<table border='1'>
<tr>
<th>Bild</th> <th>Name</th> <th>Datum</th> <th>Pixel</th>
</tr>";
foreach ($bilderliste as $zaehler => $element) {
echo "<tr>";
echo "<th><img src=\"" . $bilderliste[$zaehler][1] . "\" width=\"" . $bilderliste[$zaehler][2] . "\" height=\"" . $bilderliste[$zaehler][3] . "\" alt=\"\"></th>";
echo "<td>" . str_replace($verzeichnis, "", $bilderliste[$zaehler][1]) . "</td>";
echo "<td>" . date("d.m.Y H:i", $bilderliste[$zaehler][0]) . "</td>";
echo "<td>" . $bilderliste[$zaehler][2] . " x ". $bilderliste[$zaehler][3] . "</td>";
echo "</tr>";
}
echo "</table>";
}
?> |
|
_________________ Bei Fragen oder Fehlermeldungen - Bitte ausführlichen Code posten!
Wie man Fragen richtig stellt |
|
|
| 29 März 2010 20:11 |
|
 |
frank Gast
|
wow |
|
|
1a. vielen dank. klappt problemlos.
lg
frank |
|
|
|
| 30 März 2010 11:14 |
|
 |
steven Gast
|
Verzeichniss nach Bildnummer Sortieren |
|
|
Ein Herzliches Hallo,
Erstmal Vielen, vielen dank für den Php code.
Habe diesen selber getestet und bin super zufrieden.
Aber ein kleine Frage bleibt noch.
Gibt es auch eine Möglichkeit die Bilder in einem Ordner
nach bildnummern und in absteigender reihenfolge
zu sortieren, ich habe die Blätterfunktion
mit Zahlennavigation
http://www.homepage-total.de/php/bilder-katalog.php
von Hompagetotal.de nach meinen
bedürfnissen angepasst, nur bekomme ich es einfach
nicht hin die bilder nach nummer und absteigend zu sortieren.
So werden diese angezeigt
wallpaper_1.jpg
wallpaper_2.jpg
wallpaper_3.jpg
u.s.w.
So sollte es sein
wallpaper_3.jpg
wallpaper_2.jpg
wallpaper_1.jpg
Für Tipps und Hilfestellungen wäre ich sehr Dankbar.
der code sieht folgendermaßen aus
| PHP-Code: | 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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
| <?php
// Bilderkatalog © Homepage-Total.de
//########################### Verzeichnis der thumbs
$verzeichnis_thumbs = "bilder/wallpaper/retro/thumbs";
//########################### Verzeichnis der standartbilder
$verzeichnis_normal = "bilder/wallpaper/retro/images";
//########################### Verzeichnis der bigbilder
$verzeichnis_big = "bilder/wallpaper/retro/big";
//########################### Verzeichnis download php
$downloadphp = "php/bildermanager/download_wallpaperretro.php";
//########################### Flagge (Bildname (Vorzeichen))
$bildname = "wallpaper";
//########################### Dateiendung der Bilder (.gif .png .jpg)
$dateiendung = ".jpg";
//########################### Bilderanzeige gesamt pro Seite
$home_pfad = "bilder/wallpaper/retro/thumbs";
$i = 1;
$dh = opendir($home_pfad);
while ($datei = readdir($dh)) {
if($datei !== "" && $datei !== "." && $datei !== ".." && ((strpos($datei, '.jpg') == true) OR (strpos($datei, '.png') == true))) { $i++; }
}
$gesamtbilderzahl = $i;
//########################### startbildnummer
$wallpaperhandy = 1;
$wallpaperhandy = @$_GET["wallpaperhandy"];
//############################################################### START SCRIPT
for ($bildnummer = $wallpaperhandy; $bildnummer < ($wallpaperhandy + $gesamtbilderzahl); $bildnummer++) {
if (file_exists("$verzeichnis_thumbs/$bildname$bildnummer$dateiendung")) {
$datei = "$verzeichnis_big/$bildname$bildnummer$dateiendung";
$size = filesize($datei);
$size = $size / 1024;
$size = round($size, 2);
$bild = "$verzeichnis_big/$bildname$bildnummer$dateiendung";
$bildsize =getimagesize ($bild);
echo "
<!-- beschreibung --><div class=\"schatten_oben\"></div>
<div class=\"headerback_topleiste\">WALLPAPER $bildnummer</div>
<div class=\"headerback_background\">
<!-- image --><a href=\"$verzeichnis_big/$bildname$bildnummer.jpg\" title=\"$bildname$bildnummer Vollbild\" rel=\"shadowbox[fotografie];options={counterType:'skip',continuous:true,animSequence:'sync'}\"><img src=\"$verzeichnis_normal/$bildname$bildnummer.jpg\" alt=\"$bildname$bildnummer\" /></a>
<div class=\"headerback_rightcontainer\"><br />
<!-- Beschreibung -->Wallpaper $bildnummer<br />
<!-- grösse --><strong class=\"orange\">$bildsize[0] x $bildsize[1]</strong><br />$size KB<br /><br />
<!-- thumb vorschau --><a href=\"$verzeichnis_big/$bildname$bildnummer.jpg\" title=\"$bildname$bildnummer Vollbild\" rel=\"shadowbox[fotografie];options={counterType:'skip',continuous:true,animSequence:'sync'}\"><img src=\"$verzeichnis_thumbs/$bildname$bildnummer.jpg\" alt=\"$bildname$bildnummer\" /></a><br />
<br />
<br />
<!-- download --><a href=\"$downloadphp?file=$bildname$bildnummer.jpg\" class=\"thematrixer_button_matrixer\">DOWNLOAD</a>\n
</div>
</div>
<div class=\"schatten_unten\"></div>\n";
}
}
?> |
Lg
Steve |
|
|
|
| 24 Jul 2010 20:00 |
|
 |
Werner Homepage-Total.de Moderator

|
 |
|
|
Ersetze: | PHP-Code: | 1
| for ($bildnummer = $wallpaperhandy; $bildnummer < ($wallpaperhandy + $gesamtbilderzahl); $bildnummer++) { |
durch: | PHP-Code: | 1
| for ($bildnummer = $gesamtbilderzahl; $bildnummer >= $wallpaperhandy; $bildnummer--) { |
|
_________________ Bei Fragen oder Fehlermeldungen - Bitte ausführlichen Code posten!
Wie man Fragen richtig stellt |
|
|
| 24 Jul 2010 22:31 |
|
 |
Gast
|
 |
|
|
| Werner hat Folgendes geschrieben: | Ersetzedurch: | PHP-Code: | 1
| for ($bildnummer = $gesamtbilderzahl; $bildnummer >= $wallpaperhandy; $bildnummer--) { |
|
Hallo Werner,
vielen Dank für die schnelle Antwort, habe den code abschnitt
genauso abgeändert wie beschrieben aber leider taucht das nächste
Problem auf, sobald ich Versuche die seite zu öffnen lädt diese sich
ins unermessliche bekomme nun nichts mehr angezeigt.
An was kann es liegen?
Hier nochmal der geänderte abschnitt, habe übrigens $wallpaperhandy mit $wallpaperretro ersetzt.
Wie unschwer zu Erkennen ist betreibe ich
eine Seite bei der Kostenlos Wallpaper angeboten werden.
Für Weitere Hilfe wäre ich wirklich sehr Dankbar und werde gerne auch
eine verlinkung zu dieser Seite setzen
| PHP-Code: | 1 2 3 4 5 6 7 8 9 10 11
| ...
$gesamtbilderzahl = $i;
//########################### startbildnummer
$wallpaperretro = 1;
$wallpaperretro = @$_GET["wallpaperretro"];
//############################################################### START SCRIPT
for ($bildnummer = $gesamtbilderzahl; $bildnummer >= $wallpaperretro; $bildnummer--) {
if (file_exists("$verzeichnis_thumbs/$bildname$bildnummer$dateiendung")) {
... |
|
|
|
|
| 24 Jul 2010 23:31 |
|
 |
Werner Homepage-Total.de Moderator

|
 |
|
|
Und wie wäre es damit:
| PHP-Code: | 1
| for ($bildnummer = $gesamtbilderzahl; $bildnummer >= ($gesamtbilderzahl - $wallpaperretro); $bildnummer--) { |
|
_________________ Bei Fragen oder Fehlermeldungen - Bitte ausführlichen Code posten!
Wie man Fragen richtig stellt |
|
|
| 25 Jul 2010 00:33 |
|
 |
steven Gast
|
 |
|
|
Nein Schade Leider auch nicht, jetzt bekomme ich zwar
die seite angezeigt, aber die div container im echo
bereich werden nicht angezeigt.
Hmmm hier mal der Link zu der betreffende Seite
habe den Code Abschnitt dort aber noch im alten zustand
da ich erst immer offline mit xampp teste.
http://www.thematrixer.net/wallpaperretro.php
und hier die Seite mit dem Modifizierten Code Abschnitt
http://www.thematrixer.net/wallpaperretro2.php
Danke Nochmals für deine Mühe. |
|
|
|
| 25 Jul 2010 01:20 |
|
 |
Werner Homepage-Total.de Moderator

|
 |
|
|
Ein letzter Versuch:
| PHP-Code: | 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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
| <?php
// Bilderkatalog © Homepage-Total.de
//########################### Verzeichnis der thumbs
$verzeichnis_thumbs = "bilder/wallpaper/retro/thumbs";
//########################### Verzeichnis der standartbilder
$verzeichnis_normal = "bilder/wallpaper/retro/images";
//########################### Verzeichnis der bigbilder
$verzeichnis_big = "bilder/wallpaper/retro/big";
//########################### Verzeichnis download php
$downloadphp = "php/bildermanager/download_wallpaperretro.php";
//########################### Flagge (Bildname (Vorzeichen))
$bildname = "wallpaper";
//########################### Dateiendung der Bilder (.gif .png .jpg)
$dateiendung = ".jpg";
//########################### Bilderanzeige gesamt pro Seite
$home_pfad = "bilder/wallpaper/retro/thumbs";
$i = 1;
$dh = opendir($home_pfad);
while ($datei = readdir($dh)) {
if($datei !== "" && $datei !== "." && $datei !== ".." && ((strpos($datei, '.jpg') == true) OR (strpos($datei, '.png') == true))) { $i++; }
}
closedir($dh);
$gesamtbilderzahl = $gmz = $i;
//########################### startbildnummer
$wallpaperretro = isset($_GET["wallpaperretro"]) ? $_GET["wallpaperretro"] : 1;
//############################################################### START SCRIPT
for ($bildnummer = $wallpaperretro; $bildnummer < ($wallpaperretro + $gesamtbilderzahl); $bildnummer++) {
if (file_exists("$verzeichnis_thumbs/$bildname$gmz$dateiendung")) {
$datei = "$verzeichnis_big/$bildname$gmz$dateiendung";
$size = filesize($datei);
$size = $size / 1024;
$size = round($size, 2);
$bild = "$verzeichnis_big/$bildname$gmz$dateiendung";
$bildsize =getimagesize ($bild);
echo "
<!-- beschreibung --><div class=\"schatten_oben\"></div>
<div class=\"headerback_topleiste\">WALLPAPER $gmz</div>
<div class=\"headerback_background\">
<!-- image --><a href=\"$verzeichnis_big/$bildname$gmz.jpg\" title=\"$bildname$gmz Vollbild\" rel=\"shadowbox[fotografie];options={counterType:'skip',continuous:true,animSequence:'sync'}\"><img src=\"$verzeichnis_normal/$bildname$gmz.jpg\" alt=\"$bildname$gmz\" /></a>
<div class=\"headerback_rightcontainer\"><br />
<!-- Beschreibung -->Wallpaper $gmz<br />
<!-- grösse --><strong class=\"orange\">$bildsize[0] x $bildsize[1]</strong><br />$size KB<br /><br />
<!-- thumb vorschau --><a href=\"$verzeichnis_big/$bildname$gmz.jpg\" title=\"$bildname$gmz Vollbild\" rel=\"shadowbox[fotografie];options={counterType:'skip',continuous:true,animSequence:'sync'}\"><img src=\"$verzeichnis_thumbs/$bildname$gmz.jpg\" alt=\"$bildname$gmz\" /></a><br />
<br />
<br />
<!-- download --><a href=\"$downloadphp?file=$bildname$gmz.jpg\" class=\"thematrixer_button_matrixer\">DOWNLOAD</a>\n
</div>
</div>
<div class=\"schatten_unten\"></div>\n";
}
$gmz--;
}
?> |
|
_________________ Bei Fragen oder Fehlermeldungen - Bitte ausführlichen Code posten!
Wie man Fragen richtig stellt |
|
|
| 25 Jul 2010 19:06 |
|
 |
steven Gast
|
Vielen Danke |
|
|
Hallo Werner,
ein ganz Grosses Dankeschön für das Optimieren des scripts, es Funktioniert Wunderbar,
ich Versuche schon seit Monaten diesen script so zum Laufen zu bringen.
Da ist jetzt die Freude Natürlich Doppelt so Gross.
Wie Versprochen habe ich diesem Forum Gleich mehrere Backlinks verpasst und als Partner aufgenommen.
Und Natürlich Nochmals unter Danksagungen (Ganz unten)
http://www.thematrixer.net/infomain.htm.php
LG
Steven |
|
|
|
| 27 Jul 2010 21:16 |
|
 |
|