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:

sokie

Mod | Web

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:

irontom100

Nicht mehr ganz neu hier

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
 

M3g4Star

Nicht mehr ganz neu hier

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:
PHP: str_replace - Manual
PHP: strstr - Manual

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


Oder du machst es etwas besser und versuchst dich mit regulären Ausdrücken
PHP: PCRE-Funktionen - Manual

Grandios zum Testen deines Ausdrucks:
regex online tester - regular expressions

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.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben