0251 / 590 837 15
info@a-coding-project.de
;

Dateien löschen (CMS)

Im CMS-Tutorial werden heute Dateien gelöscht. Aber nur zum Testen der Lösch-Funktion, die wir erstellen ;-).

Und zwar gibt es als erstes eine Veränderung in der Dateiauflistung. Diese werden ab jetzt als Tabelle angezeigt, inkl. Bild, falls vorhanden. Das geschieht in der Datei /admin/includes/files.php:

        <table>
          <thead>
            <td>Vorschau</td>
            <td>Dateiname</td>
            <td>Aktionen</td>
          </thead>
          <tbody>
      <?PHP
      foreach($files as $file){
        echo "<tr><td>";
        $path_info = pathinfo("../content/uploads/".$dir."/".$file);
        if(strtolower($path_info['extension'] == 'jpg') or
           strtolower($path_info['extension'] == 'jpeg') or
           strtolower($path_info['extension'] == 'gif') or
           strtolower($path_info['extension'] == 'png') or
           strtolower($path_info['extension'] == 'bmp')){
           echo "<img src="/content/uploads/".$dir."/".$file.""style="max-width:100px;max-height:100px;" />";
        }
        echo "</td><td><a href="../content/uploads".$dir."/".$file."">".$file."</a></td>
              <td><a href="/admin/index.php?page=files&dir=".urlencode($_GET['dir'])."&unlink=".urlencode($file).""><img src="/system/images/icons/cross.png"/></a></td>
              </tr>";
      }
      ?>
        </tbody>
      </table>

Aufmerksame Leser werden bemerkt haben, dass beim Löschen der Datei ein unlink an den Dateipfad gehängt wird. Dies müssen wir nun nur noch am Anfang der Datei abfangen:

<?php
  $dir = $_GET['dir'];
  if($_POST['newFolder']){
    FileServer::createFolder($dir,$_POST['name']);
  }
  if($_GET['unlink']){
    unlink("../content/uploads/".$_GET['dir']."/".$_GET['unlink']);
    echo "<p>Datei ".$_GET['unlink']." wurde gel&ouml;scht!</p>";
  }
  $verzeichnis = openDir("../content/uploads/".$dir);
?>

Das wars dann auch schon. Das Löschen von Ordnern wird vorausichtlich morgen ermöglicht.

Kommentare

erxxlu schrieb am 07.04.2010:

Bekomme mittlerweile Fatal error: Cannot redeclare class fileserver in C:xampphtdocscmssystemclassesfileserver.php on line 12

Stefan Wienströer schrieb am 07.04.2010:

Kannste mir den Code der Klasse mal per Mail schicken? info(At)stevieswebsite.de