AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

PHP: Script geht .... inzwischen

Ein Thema von DGL-luke · begonnen am 27. Mai 2005 · letzter Beitrag vom 28. Mai 2005
 
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#1

PHP: Script geht .... inzwischen

  Alt 27. Mai 2005, 20:17
Das funktionierende ist unten(in meinem letzten post) angehängt und kann gerne verwendet werden.

habe ein php-skript geschreiben, das mir alle bilder eines verzeichnisses in einer tabelle anzeigt.

es geht auch wunderbar, aber ab und an verschluckt es ein paar dateien, sprich zeigt nicht alle an.

hier is mal der code:

Code:
<?php

function is_image($filename) //diese funktion sollte selbsterklärend sein. stimmt sie?
 {
  //echo "Prüfung für $filename ergab ";
  if (is_dir($filename))
   {
   //print "false\n";
    return false;
   }
  $ext=strtolower(substr($filename,-3));
  switch ($ext)
   {
    case "png":
    case "bmp":
    case "gif":
    case "wmf":
    case "jpg":
    case "peg":
     //print "true\n";
     return true;
     break;
    default:
     //print "false\n ";
     return false;
     break;
   }
 }

if (isset($_REQUEST["dir"]  ))  $dirname = $_REQUEST["dir"]; //hier wird die var $dirname initialisiert.
 else $dirname = ".";
 
$dir = opendir($dirname);
 

 
if (isset($_REQUEST["height"])) $height = $_REQUEST["height"]; //noch mehr init....

if (isset($_REQUEST["width"] )) $width = $_REQUEST["width"];
 else $width="100%";


if (isset($_REQUEST["cols"]))  $cols  = $_REQUEST["cols"];
 else if (isset($width))
  $cols= floor(400 / $width);
else $cols=4;

//print "PHP-Skript-Debug-Infos:\n$cols"; //auskommentiert, würde $cols anzeigen


readdir($dir); // . und
readdir($dir); // .. abfangen

$table_string = "<table class=\"main\">\n"; //init für den string, der später in den html-code kommt

while ( $file = readdir($dir)) //alle files werden durchlaufen
 {
  $break=false;
  $table_string .= " <tr>\n"; //eine neue zeile.....
  for ($i=0;$i<$cols;$i++)    //dieser loop liest die zeile komplett ein
   {
    $table_string .= " <td>";
    while (! is_image($file)) //dieser loop sichert, dass in $file ein image steht
     if (! ($file = readdir($dir)))
     { $break=true;
       break;
     }
    if ($break) break;
    $img_string = "<image src=\"$dirname/$file\" ";           //von hier...
    if (isset($height)) $img_string .= "height=\"$height\" ";
    if (isset($width )) $img_string .= "width=\"$width\" ";
    $img_string .= "alt=\"$file\">";
    $table_string .= $img_string;
    $table_string .= "</td>\n";                              //...bis hier wird der stirng erzeugt.
    $file=readdir($dir);                                     //Hö? ach ja damit wird... das is ja eins zu viel des guten... nein ist es nicht, gerade überprüft! stimmt so!
   }

  $table_string .= " </tr>\n";
 }
 
$table_string .= "</table>\n";
?>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/transitional.dtd">




<html>
 <head>
  <title>Galerie</title>
 </head>
<body>

<?php echo $table_string; ?>

</body>
</html>
also, ich kann da keinen fehler finden.

ps: dir ist das verzeichnis, cols ist die anzahl der spalten. mehr braucht man nicht. einfach per get übergeben.

[edit=alcaeus][Klammern ersetzt] Mfg, alcaeus[/edit]
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz