Antworten auf deine Fragen:
Neues Thema erstellen

php script hilfe

irontom100

Nicht mehr ganz neu hier

hi leute
ich habe hier ein php script das mir mein verzeichniss ausliest
und nach änderungs datum sortiert
ich möchte aber ereichen das es mir die bilder nach namen
sortiert
brauch dringen eure hilfe

PHP:
<?php
// Bilder aus einem Verzeichnis auslesen
// und sortiert in einer Tabelle anzeigen
$bilderliste = array();
$verzeichnis = "bilder/";
$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>";
?>
ich danke euch
 
Zuletzt bearbeitet:

AW: php script hilfe

warum schreibst du nicht einfach nur die dateinamen ins array und sortierst es, und machst die übrigen Operationen in der foreach schleife ?

PHP:
while ($datei = readDir($handle)) {
 $verzeichnis_datei = $verzeichnis . $datei;
 if ($datei != "." && $datei != ".." && !is_dir($datei)) {
  if (strstr($datei, ".gif") || strstr($datei, ".png") || strstr($datei, ".jpg")) {
   $bilderliste[] = $datei;
  }
 }
}

sort($bilderliste);
//....

foreach ($bilderliste as $zaehler=>$datei){
  $verzeichnis_datei = $verzeichnis . $datei;
  $info = getimagesize($verzeichnis_datei);
//usw...
}
if ($datei != "." && $datei != ".." && !is_dir($datei))
kannst du eigentlich weglassen, weil in der nächsten überprüfung sowieso nur strings mit den endungen ".gif",".jpg",".png" berücksichtigt werden.

ist auch sinnfrei, weil wenn schon überprüft werden soll, müsste auf
Code:
!is_dir($verzeichnis.$datei)
überprüft werden
 
Zuletzt bearbeitet:
AW: php script hilfe

hier noch ein Tip als Ersatz für deine "while - readDir - strstr" Kombination.

 
AW: php script hilfe

so habe das ganze script mal neu gemacht habe es jetzt so weit hinbekommen das es mit den bildern das macht was ich möchte
jetzt möchte ich noch die namen einkürtzen und das gleiche anordenung wie bei den bildern erreichen
zur zeit ist die ausgabe des namens so

" img/clan-templates_tumb-001.png "

möchte aber erreichen das es mir so angezeigt wird

" Clan Templates 001"
dann soll es auch an der richtigen stelle dargestellt werden
hier der neue php code:
PHP:
<?PHP


function listPicture($dir=".",$type="png")
{
    $x = 0;
    foreach (glob($dir."*.".$type) as $filename)
    {
        $picture[$x]['file'] = $filename;
        $x++;
    }

    return $picture;
}
$pic = listPicture("img/","png");

for($x=0;$x<count($pic);$x++)
{
    $file = $pic[$x]['file'];

echo '<table width="600" border="1" align="center" cellpadding="1" cellspacing="1">';
for($x=0;$x<count($pic);$x+=2)
{
  echo '
  <tr>
    <td align="center">'.$file.'</td>
    <td>&nbsp;</td>
    <td align="center">Clan Template 006</td>
  </tr>
  <tr align="center" valign="middle">
    <td><img src="'.$pic[$x]['file'].'"></td>
    <td>&nbsp;</td>';
  if(array_key_exists($x+1,$pic)){
    echo '<td><img src="'.$pic[$x+1]['file'].'"></td>';
    }
  echo
  '</tr>';
  echo
  '<tr>
     <td style="font-size: 12px;" colspan="3">info text
     </td>
   </tr>';
   echo
  '<tr>
     <td style="font-size: 12px;" colspan="3">&nbsp;</td>
   </tr>';
   }
   echo '</table>';
}
?>
danke für eure geduldt
 
AW: php script hilfe

jetzt möchte ich noch die namen einkürtzen und das gleiche anordenung wie bei den bildern erreichen
zur zeit ist die ausgabe des namens so

" img/clan-templates_tumb-001.png "

möchte aber erreichen das es mir so angezeigt wird

" Clan Templates 001"
dann soll es auch an der richtigen stelle dargestellt werden

An sich musst du nur ein wenig mit dem String spielen.

Ansatzpunkte findest du dazu unter:



um den ersten Buchstaben in einen Großbuchstaben umzuwandeln kannst du diese Funktion nutzen:



Oder du machst es etwas besser und versuchst dich mit regulären Ausdrücken


Grandios zum Testen deines Ausdrucks:


Wenn du einen Ansatz hast kann ich dir da auch gern weiter helfen.

Greets M3g4
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.867
Beiträge
1.539.636
Mitglieder
67.860
Neuestes Mitglied
Hawkness
Oben