Sponsor-Board.de

Normale Version: Dateien mit php von Webspace löschen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo

Ich habe auf meinem Webspace mit (nicht selbstgeschriebenen!) php Scripts eine Upload Seite eingerichtet, und dann noch eine Upload Liste, die die hochgeladenen Dateien in einer Liste anzeigt. Jetzt möchte ich aber, dass man auch gleich bei dieser Liste die Dateien löschen kann, so dass ich das nicht immer zuhause mit Filezilla machen muss. Am praktischsten wäre, wenn neben jeder Datei ein Button wäre, und wenn ich auf den klicke, kann wird die Datei gelöscht.

Das Script für die Upload Liste ist das folgende:

PHP-Code:
<script language="php"

$verzeichnisname="/var/customers/webs/swat6/ah/upload/"
  
/* 
    "Absoluter" Pfad zum Verzeichnis im Dateisystem des Webservers. 

    Eine einfache Möglichkeit, um diesen Pfad herauszufinden: 
    Machen Sie eine Datei namens phpinfo.php mit folgendem Inhalt: 
    <?php phpinfo(); ?> 
    Laden Sie diese Datei in das Verzeichnis, dessen Inhalt aufgelistet 
    werden soll. Rufen Sie die Datei im Browser über HTTP ab. 
    Unter "Apache Environment" in der Variablen "SCRIPT_FILENAME" 
    steht der ganze Pfad. 
  */ 

$urlbasis="http://www.adrian-hirt.ch/upload/"
  
/* Pfad zum Verzeichnis von aussen gesehen, d.h. mit http:// beginnend. */ 

date_default_timezone_set('Europe/Zurich'); /* notwendig ab PHP 5.3, sonst Warnung wegen nicht gesetzter Zeitzone. */ 

function filesizehuman($bytes
/* Gibt die Dateigrösse in B, kB, MB oder GB aus, also "menschenlesbar" */ 
 

  
$output="$bytes B"/* Grundsätzlich und wenn unter 1024 Byte: Angabe in B */ 
  
if ($bytes>=1024/* Ab 1024 Byte: Angabe in kB mit 1 Dezimalstelle */ 
     

      
$kb=sprintf("%01.1f",$bytes/1024); 
      
$output="$kb kB"
     } 
  if (
$bytes>=100*1024/* Ab 100 kB: Angabe in kB ohne Nachkommastellen */ 
     

      
$kb=round($bytes/1024); 
      
$output="$kb kB"
     } 
  if (
$bytes>=1024*1024/* Ab 1024 kB: Angabe in MB mit 1 Nachkommastelle */ 
     

      
$mb=sprintf("%01.1f",$bytes/1048576); 
      
$output="$mb MB"
     } 
  if (
$bytes>=1024*1024*1024/* Ab 1024 MB: Angabe in GB mit 1 Nachkommastelle */ 
     

      
$gb=sprintf("%01.1f",$bytes/1073741824); 
      
$output="$gb GB"
     } 
  return 
$output
 } 

/* Array-Variablen anlegen: */ 
$dateiliste1 = array(); 
$dateiliste = array(); 
$bilderdim = array(); 

/* Durchlauf: Verzeichnis einlesen, Dateien in Liste erfassen, sortieren: */ 
$verzeichnis opendir($verzeichnisname); 
while((
$eintrag readdir($verzeichnis))!= false
  { 
   if(!
is_dir("$verzeichnisname/$eintrag") AND (($eintrag!=".htaccess") AND ($eintrag!="verboten.html"))) 
     { 
array_push($dateiliste1,$eintrag); } 
  } 
closedir($verzeichnis); 
natcasesort($dateiliste1); 
$dateinummer=0
foreach(
$dateiliste1 as $eintrag2
 { 
  
$dateinummer++; 
  
$dateiliste[$dateinummer]=$eintrag2
 } 
/* Ende Verzeichnis einlesen u.s.w. */ 


/* Ausgabe: */ 
/* echo "<h2>Datei-Liste</h2>\n"; */

$dateianzahl=count($dateiliste); 
if (
$dateianzahl<=0
  { echo 
"<p><b>Keine (0) Dateien im Verzeichnis [$urlbasis]</b></p>\n"; } 
else  
/* d.h. wenn mindestens 1 Datei vorhanden: */ 
  


   echo 
"<p>Total $dateianzahl Datei(en) im Uploadverzeichnis</p>\n"

   echo 
"<table border='1' width='100%' cellpadding='3' cellspacing='0'>\n"
   echo 
"<tr>"
   echo 
"<th align='left'>Nr.</th>"
   echo 
"<th align='left'>Dateiname</th>"
   echo 
"<th align='right'>Grösse</th>"
   echo 
"<th align='left'>Hochgeladen</th>"
   echo 
"<th align='left'>Typ</th>"
   echo 
"<th align='left'>Dim.</th>"
   echo 
"</tr>"

   foreach (
$dateiliste as $dateinr => $dateiname
     { 
        
$test $verzeichnisname "/" $dateiname
        echo 
"<tr>\n"
        echo 
"  <td align='left'>$dateinr</td>\n"
        echo 
"  <td align='left'><a href='$urlbasis$dateiname'>$dateiname</a></td>\n"
        echo 
"  <td align='right'>" filesizehuman(filesize($test)) . "</td>\n"
        echo 
"  <td align='left'>" strftime("%a, %d.%b.%Y, %H:%M"filemtime($test)) . "</td>\n"
        
$bilddim getimagesize($test); 
        if (
$bilddim
           { 
            echo 
"  <td align='left'>".strtoupper(image_type_to_extension($bilddim[2],false))."</td>\n"
            echo 
"  <td align='left'>".$bilddim[0]."x".$bilddim[1]."</td>\n"
           } 
          else 
           { 
            echo 
"  <td align='left'>".substr (strrchr(strtoupper($test),"."),)."</td>\n"
            echo 
"  <td align='left'>-</td>\n"
           } 
        echo 
"</tr>\n\n"
      } 
/* Ende foreach */ 

   
echo "</table>"

  } 
/* Ende ELSE-Teil für wenn Dateien vorhanden sind. */ 

</script> 


So sieht die Liste im Moment aus:
http://adrian-hirt.ch/upload/liste.jpg(!https)

Wie schon gesagt, ich habe das Script nicht selber geschrieben, aber ich wäre froh, wenn mir jemand helfen kann ^^

LG

Swat 6

Erweiterung der Tabelle und mit unlink die Datei löschen.
So sollte es gehen, aber ich habe keine Sicherheitsabfrage eingebaut.

Code:
<?php



$verzeichnisname="/var/customers/webs/swat6/ah/upload/";
  /*
    "Absoluter" Pfad zum Verzeichnis im Dateisystem des Webservers.

    Eine einfache Möglichkeit, um diesen Pfad herauszufinden:
    Machen Sie eine Datei namens phpinfo.php mit folgendem Inhalt:
    <?php phpinfo(); ?>
    Laden Sie diese Datei in das Verzeichnis, dessen Inhalt aufgelistet
    werden soll. Rufen Sie die Datei im Browser über HTTP ab.
    Unter "Apache Environment" in der Variablen "SCRIPT_FILENAME"
    steht der ganze Pfad.
  */

$urlbasis="http://www.adrian-hirt.ch/upload/";
  /* Pfad zum Verzeichnis von aussen gesehen, d.h. mit http:// beginnend. */

date_default_timezone_set('Europe/Zurich'); /* notwendig ab PHP 5.3, sonst Warnung wegen nicht gesetzter Zeitzone. */

if (isset($_GET['del'])) {
    unlink($verzeichnisname.$_GET['del']);
}

function filesizehuman($bytes)
/* Gibt die Dateigrösse in B, kB, MB oder GB aus, also "menschenlesbar" */
{
  $output="$bytes B"; /* Grundsätzlich und wenn unter 1024 Byte: Angabe in B */
  if ($bytes>=1024) /* Ab 1024 Byte: Angabe in kB mit 1 Dezimalstelle */
     {
      $kb=sprintf("%01.1f",$bytes/1024);
      $output="$kb kB";
     }
  if ($bytes>=100*1024) /* Ab 100 kB: Angabe in kB ohne Nachkommastellen */
     {
      $kb=round($bytes/1024);
      $output="$kb kB";
     }
  if ($bytes>=1024*1024) /* Ab 1024 kB: Angabe in MB mit 1 Nachkommastelle */
     {
      $mb=sprintf("%01.1f",$bytes/1048576);
      $output="$mb MB";
     }
  if ($bytes>=1024*1024*1024) /* Ab 1024 MB: Angabe in GB mit 1 Nachkommastelle */
     {
      $gb=sprintf("%01.1f",$bytes/1073741824);
      $output="$gb GB";
     }
  return $output;
}

/* Array-Variablen anlegen: */
$dateiliste1 = array();
$dateiliste = array();
$bilderdim = array();

/* Durchlauf: Verzeichnis einlesen, Dateien in Liste erfassen, sortieren: */
$verzeichnis = opendir($verzeichnisname);
while(($eintrag = readdir($verzeichnis))!= false)
  {
   if(!is_dir("$verzeichnisname/$eintrag") AND (($eintrag!=".htaccess") AND ($eintrag!="verboten.html")))
     { array_push($dateiliste1,$eintrag); }
  }
closedir($verzeichnis);
natcasesort($dateiliste1);
$dateinummer=0;
foreach($dateiliste1 as $eintrag2)
{
  $dateinummer++;
  $dateiliste[$dateinummer]=$eintrag2;
}
/* Ende Verzeichnis einlesen u.s.w. */


/* Ausgabe: */
/* echo "<h2>Datei-Liste</h2>\n"; */

$dateianzahl=count($dateiliste);
if ($dateianzahl<=0)
  { echo "<p><b>Keine (0) Dateien im Verzeichnis [$urlbasis]</b></p>\n"; }
else  /* d.h. wenn mindestens 1 Datei vorhanden: */
  {

   echo "<p>Total $dateianzahl Datei(en) im Uploadverzeichnis</p>\n";

   echo "<table border='1' width='100%' cellpadding='3' cellspacing='0'>\n";
   echo "<tr>";
   echo "<th align='left'>Nr.</th>";
   echo "<th align='left'>Dateiname</th>";
   echo "<th align='right'>Grösse</th>";
   echo "<th align='left'>Hochgeladen</th>";
   echo "<th align='left'>Typ</th>";
   echo "<th align='left'>Dim.</th>";
   echo "<th align='left'>Löschen</th>";
   echo "</tr>";

   foreach ($dateiliste as $dateinr => $dateiname)
     {
        $test = $verzeichnisname . "/" . $dateiname;
        echo "<tr>\n";
        echo "  <td align='left'>$dateinr</td>\n";
        echo "  <td align='left'><a href='$urlbasis$dateiname'>$dateiname</a></td>\n";
        echo "  <td align='right'>" . filesizehuman(filesize($test)) . "</td>\n";
        echo "  <td align='left'>" . strftime("%a, %d.%b.%Y, %H:%M", filemtime($test)) . "</td>\n";
        $bilddim = getimagesize($test);
        if ($bilddim)
           {
            echo "  <td align='left'>".strtoupper(image_type_to_extension($bilddim[2],false))."</td>\n";
            echo "  <td align='left'>".$bilddim[0]."x".$bilddim[1]."</td>\n";
            echo "<th align='left' href=\"?del=$dateiname\">Löschen</th>";
           }
          else
           {
            echo "  <td align='left'>".substr (strrchr(strtoupper($test),"."),1 )."</td>\n";
            echo "  <td align='left'>-</td>\n";
           }
        echo "</tr>\n\n";
      } /* Ende foreach */

   echo "</table>";

  } /* Ende ELSE-Teil für wenn Dateien vorhanden sind. */
?>

SkyfaR

-

Jkoan schrieb:
So sollte es gehen, aber ich habe keine Sicherheitsabfrage eingebaut.

Code:
<?php



$verzeichnisname="/var/customers/webs/swat6/ah/upload/";
  /*
    "Absoluter" Pfad zum Verzeichnis im Dateisystem des Webservers.

    Eine einfache Möglichkeit, um diesen Pfad herauszufinden:
    Machen Sie eine Datei namens phpinfo.php mit folgendem Inhalt:
    <?php phpinfo(); ?>
    Laden Sie diese Datei in das Verzeichnis, dessen Inhalt aufgelistet
    werden soll. Rufen Sie die Datei im Browser über HTTP ab.
    Unter "Apache Environment" in der Variablen "SCRIPT_FILENAME"
    steht der ganze Pfad.
  */

$urlbasis="http://www.adrian-hirt.ch/upload/";
  /* Pfad zum Verzeichnis von aussen gesehen, d.h. mit http:// beginnend. */

date_default_timezone_set('Europe/Zurich'); /* notwendig ab PHP 5.3, sonst Warnung wegen nicht gesetzter Zeitzone. */

if (isset($_GET['del'])) {
    unlink($verzeichnisname.$_GET['del']);
}

function filesizehuman($bytes)
/* Gibt die Dateigrösse in B, kB, MB oder GB aus, also "menschenlesbar" */
{
  $output="$bytes B"; /* Grundsätzlich und wenn unter 1024 Byte: Angabe in B */
  if ($bytes>=1024) /* Ab 1024 Byte: Angabe in kB mit 1 Dezimalstelle */
     {
      $kb=sprintf("%01.1f",$bytes/1024);
      $output="$kb kB";
     }
  if ($bytes>=100*1024) /* Ab 100 kB: Angabe in kB ohne Nachkommastellen */
     {
      $kb=round($bytes/1024);
      $output="$kb kB";
     }
  if ($bytes>=1024*1024) /* Ab 1024 kB: Angabe in MB mit 1 Nachkommastelle */
     {
      $mb=sprintf("%01.1f",$bytes/1048576);
      $output="$mb MB";
     }
  if ($bytes>=1024*1024*1024) /* Ab 1024 MB: Angabe in GB mit 1 Nachkommastelle */
     {
      $gb=sprintf("%01.1f",$bytes/1073741824);
      $output="$gb GB";
     }
  return $output;
}

/* Array-Variablen anlegen: */
$dateiliste1 = array();
$dateiliste = array();
$bilderdim = array();

/* Durchlauf: Verzeichnis einlesen, Dateien in Liste erfassen, sortieren: */
$verzeichnis = opendir($verzeichnisname);
while(($eintrag = readdir($verzeichnis))!= false)
  {
   if(!is_dir("$verzeichnisname/$eintrag") AND (($eintrag!=".htaccess") AND ($eintrag!="verboten.html")))
     { array_push($dateiliste1,$eintrag); }
  }
closedir($verzeichnis);
natcasesort($dateiliste1);
$dateinummer=0;
foreach($dateiliste1 as $eintrag2)
{
  $dateinummer++;
  $dateiliste[$dateinummer]=$eintrag2;
}
/* Ende Verzeichnis einlesen u.s.w. */


/* Ausgabe: */
/* echo "<h2>Datei-Liste</h2>\n"; */

$dateianzahl=count($dateiliste);
if ($dateianzahl<=0)
  { echo "<p><b>Keine (0) Dateien im Verzeichnis [$urlbasis]</b></p>\n"; }
else  /* d.h. wenn mindestens 1 Datei vorhanden: */
  {

   echo "<p>Total $dateianzahl Datei(en) im Uploadverzeichnis</p>\n";

   echo "<table border='1' width='100%' cellpadding='3' cellspacing='0'>\n";
   echo "<tr>";
   echo "<th align='left'>Nr.</th>";
   echo "<th align='left'>Dateiname</th>";
   echo "<th align='right'>Grösse</th>";
   echo "<th align='left'>Hochgeladen</th>";
   echo "<th align='left'>Typ</th>";
   echo "<th align='left'>Dim.</th>";
   echo "<th align='left'>Löschen</th>";
   echo "</tr>";

   foreach ($dateiliste as $dateinr => $dateiname)
     {
        $test = $verzeichnisname . "/" . $dateiname;
        echo "<tr>\n";
        echo "  <td align='left'>$dateinr</td>\n";
        echo "  <td align='left'><a href='$urlbasis$dateiname'>$dateiname</a></td>\n";
        echo "  <td align='right'>" . filesizehuman(filesize($test)) . "</td>\n";
        echo "  <td align='left'>" . strftime("%a, %d.%b.%Y, %H:%M", filemtime($test)) . "</td>\n";
        $bilddim = getimagesize($test);
        if ($bilddim)
           {
            echo "  <td align='left'>".strtoupper(image_type_to_extension($bilddim[2],false))."</td>\n";
            echo "  <td align='left'>".$bilddim[0]."x".$bilddim[1]."</td>\n";
            echo "<th align='left' href=\"?del=$dateiname\">Löschen</th>";
           }
          else
           {
            echo "  <td align='left'>".substr (strrchr(strtoupper($test),"."),1 )."</td>\n";
            echo "  <td align='left'>-</td>\n";
           }
        echo "</tr>\n\n";
      } /* Ende foreach */

   echo "</table>";

  } /* Ende ELSE-Teil für wenn Dateien vorhanden sind. */
?>


Geht nicht, es zeigt nur bei Bildern 'Löschen" an, und es ist nur Text, wenn ich draufklicke, passiert nichts :S

http://www.adrian-hirt.ch/upload/loeschen.jpg(!https)

pushmessage
Versuch's mal hiermit:

Code:
<?php



$verzeichnisname="/var/customers/webs/swat6/ah/upload/";
  /*
    "Absoluter" Pfad zum Verzeichnis im Dateisystem des Webservers.

    Eine einfache Möglichkeit, um diesen Pfad herauszufinden:
    Machen Sie eine Datei namens phpinfo.php mit folgendem Inhalt:
    <?php phpinfo(); ?>
    Laden Sie diese Datei in das Verzeichnis, dessen Inhalt aufgelistet
    werden soll. Rufen Sie die Datei im Browser über HTTP ab.
    Unter "Apache Environment" in der Variablen "SCRIPT_FILENAME"
    steht der ganze Pfad.
  */

$urlbasis="http://www.adrian-hirt.ch/upload/";
  /* Pfad zum Verzeichnis von aussen gesehen, d.h. mit http:// beginnend. */

date_default_timezone_set('Europe/Zurich'); /* notwendig ab PHP 5.3, sonst Warnung wegen nicht gesetzter Zeitzone. */

if (isset($_GET['del'])) {
    unlink($verzeichnisname.$_GET['del']);
}

function filesizehuman($bytes)
/* Gibt die Dateigrösse in B, kB, MB oder GB aus, also "menschenlesbar" */
{
  $output="$bytes B"; /* Grundsätzlich und wenn unter 1024 Byte: Angabe in B */
  if ($bytes>=1024) /* Ab 1024 Byte: Angabe in kB mit 1 Dezimalstelle */
     {
      $kb=sprintf("%01.1f",$bytes/1024);
      $output="$kb kB";
     }
  if ($bytes>=100*1024) /* Ab 100 kB: Angabe in kB ohne Nachkommastellen */
     {
      $kb=round($bytes/1024);
      $output="$kb kB";
     }
  if ($bytes>=1024*1024) /* Ab 1024 kB: Angabe in MB mit 1 Nachkommastelle */
     {
      $mb=sprintf("%01.1f",$bytes/1048576);
      $output="$mb MB";
     }
  if ($bytes>=1024*1024*1024) /* Ab 1024 MB: Angabe in GB mit 1 Nachkommastelle */
     {
      $gb=sprintf("%01.1f",$bytes/1073741824);
      $output="$gb GB";
     }
  return $output;
}

/* Array-Variablen anlegen: */
$dateiliste1 = array();
$dateiliste = array();
$bilderdim = array();

/* Durchlauf: Verzeichnis einlesen, Dateien in Liste erfassen, sortieren: */
$verzeichnis = opendir($verzeichnisname);
while(($eintrag = readdir($verzeichnis))!= false)
  {
   if(!is_dir("$verzeichnisname/$eintrag") AND (($eintrag!=".htaccess") AND ($eintrag!="verboten.html")))
     { array_push($dateiliste1,$eintrag); }
  }
closedir($verzeichnis);
natcasesort($dateiliste1);
$dateinummer=0;
foreach($dateiliste1 as $eintrag2)
{
  $dateinummer++;
  $dateiliste[$dateinummer]=$eintrag2;
}
/* Ende Verzeichnis einlesen u.s.w. */


/* Ausgabe: */
/* echo "<h2>Datei-Liste</h2>\n"; */

$dateianzahl=count($dateiliste);
if ($dateianzahl<=0)
  { echo "<p><b>Keine (0) Dateien im Verzeichnis [$urlbasis]</b></p>\n"; }
else  /* d.h. wenn mindestens 1 Datei vorhanden: */
  {

   echo "<p>Total $dateianzahl Datei(en) im Uploadverzeichnis</p>\n";

   echo "<table border='1' width='100%' cellpadding='3' cellspacing='0'>\n";
   echo "<tr>";
   echo "<th align='left'>Nr.</th>";
   echo "<th align='left'>Dateiname</th>";
   echo "<th align='right'>Grösse</th>";
   echo "<th align='left'>Hochgeladen</th>";
   echo "<th align='left'>Typ</th>";
   echo "<th align='left'>Dim.</th>";
   echo "<th align='left'>Löschen</th>";
   echo "</tr>";

   foreach ($dateiliste as $dateinr => $dateiname)
     {
        $test = $verzeichnisname . "/" . $dateiname;
        echo "<tr>\n";
        echo "  <td align='left'>$dateinr</td>\n";
        echo "  <td align='left'><a href='$urlbasis$dateiname'>$dateiname</a></td>\n";
        echo "  <td align='right'>" . filesizehuman(filesize($test)) . "</td>\n";
        echo "  <td align='left'>" . strftime("%a, %d.%b.%Y, %H:%M", filemtime($test)) . "</td>\n";
        $bilddim = getimagesize($test);
        if ($bilddim)
           {
            echo "  <td align='left'>".strtoupper(image_type_to_extension($bilddim[2],false))."</td>\n";
            echo "  <td align='left'>".$bilddim[0]."x".$bilddim[1]."</td>\n";
            echo "<th align='left' href='?del=".$dateiname."'>Löschen</th>";
           }
          else
           {
            echo "  <td align='left'>".substr (strrchr(strtoupper($test),"."),1 )."</td>\n";
            echo "  <td align='left'>-</td>\n";
           }
        echo "</tr>\n\n";
      } /* Ende foreach */

   echo "</table>";

  } /* Ende ELSE-Teil für wenn Dateien vorhanden sind. */
?>

artock-hosting schrieb:
Versuch's mal hiermit:

Code:
<?php



$verzeichnisname="/var/customers/webs/swat6/ah/upload/";
  /*
    "Absoluter" Pfad zum Verzeichnis im Dateisystem des Webservers.

    Eine einfache Möglichkeit, um diesen Pfad herauszufinden:
    Machen Sie eine Datei namens phpinfo.php mit folgendem Inhalt:
    <?php phpinfo(); ?>
    Laden Sie diese Datei in das Verzeichnis, dessen Inhalt aufgelistet
    werden soll. Rufen Sie die Datei im Browser über HTTP ab.
    Unter "Apache Environment" in der Variablen "SCRIPT_FILENAME"
    steht der ganze Pfad.
  */

$urlbasis="http://www.adrian-hirt.ch/upload/";
  /* Pfad zum Verzeichnis von aussen gesehen, d.h. mit http:// beginnend. */

date_default_timezone_set('Europe/Zurich'); /* notwendig ab PHP 5.3, sonst Warnung wegen nicht gesetzter Zeitzone. */

if (isset($_GET['del'])) {
    unlink($verzeichnisname.$_GET['del']);
}

function filesizehuman($bytes)
/* Gibt die Dateigrösse in B, kB, MB oder GB aus, also "menschenlesbar" */
{
  $output="$bytes B"; /* Grundsätzlich und wenn unter 1024 Byte: Angabe in B */
  if ($bytes>=1024) /* Ab 1024 Byte: Angabe in kB mit 1 Dezimalstelle */
     {
      $kb=sprintf("%01.1f",$bytes/1024);
      $output="$kb kB";
     }
  if ($bytes>=100*1024) /* Ab 100 kB: Angabe in kB ohne Nachkommastellen */
     {
      $kb=round($bytes/1024);
      $output="$kb kB";
     }
  if ($bytes>=1024*1024) /* Ab 1024 kB: Angabe in MB mit 1 Nachkommastelle */
     {
      $mb=sprintf("%01.1f",$bytes/1048576);
      $output="$mb MB";
     }
  if ($bytes>=1024*1024*1024) /* Ab 1024 MB: Angabe in GB mit 1 Nachkommastelle */
     {
      $gb=sprintf("%01.1f",$bytes/1073741824);
      $output="$gb GB";
     }
  return $output;
}

/* Array-Variablen anlegen: */
$dateiliste1 = array();
$dateiliste = array();
$bilderdim = array();

/* Durchlauf: Verzeichnis einlesen, Dateien in Liste erfassen, sortieren: */
$verzeichnis = opendir($verzeichnisname);
while(($eintrag = readdir($verzeichnis))!= false)
  {
   if(!is_dir("$verzeichnisname/$eintrag") AND (($eintrag!=".htaccess") AND ($eintrag!="verboten.html")))
     { array_push($dateiliste1,$eintrag); }
  }
closedir($verzeichnis);
natcasesort($dateiliste1);
$dateinummer=0;
foreach($dateiliste1 as $eintrag2)
{
  $dateinummer++;
  $dateiliste[$dateinummer]=$eintrag2;
}
/* Ende Verzeichnis einlesen u.s.w. */


/* Ausgabe: */
/* echo "<h2>Datei-Liste</h2>\n"; */

$dateianzahl=count($dateiliste);
if ($dateianzahl<=0)
  { echo "<p><b>Keine (0) Dateien im Verzeichnis [$urlbasis]</b></p>\n"; }
else  /* d.h. wenn mindestens 1 Datei vorhanden: */
  {

   echo "<p>Total $dateianzahl Datei(en) im Uploadverzeichnis</p>\n";

   echo "<table border='1' width='100%' cellpadding='3' cellspacing='0'>\n";
   echo "<tr>";
   echo "<th align='left'>Nr.</th>";
   echo "<th align='left'>Dateiname</th>";
   echo "<th align='right'>Grösse</th>";
   echo "<th align='left'>Hochgeladen</th>";
   echo "<th align='left'>Typ</th>";
   echo "<th align='left'>Dim.</th>";
   echo "<th align='left'>Löschen</th>";
   echo "</tr>";

   foreach ($dateiliste as $dateinr => $dateiname)
     {
        $test = $verzeichnisname . "/" . $dateiname;
        echo "<tr>\n";
        echo "  <td align='left'>$dateinr</td>\n";
        echo "  <td align='left'><a href='$urlbasis$dateiname'>$dateiname</a></td>\n";
        echo "  <td align='right'>" . filesizehuman(filesize($test)) . "</td>\n";
        echo "  <td align='left'>" . strftime("%a, %d.%b.%Y, %H:%M", filemtime($test)) . "</td>\n";
        $bilddim = getimagesize($test);
        if ($bilddim)
           {
            echo "  <td align='left'>".strtoupper(image_type_to_extension($bilddim[2],false))."</td>\n";
            echo "  <td align='left'>".$bilddim[0]."x".$bilddim[1]."</td>\n";
            echo "<th align='left' href='?del=".$dateiname."'>Löschen</th>";
           }
          else
           {
            echo "  <td align='left'>".substr (strrchr(strtoupper($test),"."),1 )."</td>\n";
            echo "  <td align='left'>-</td>\n";
           }
        echo "</tr>\n\n";
      } /* Ende foreach */

   echo "</table>";

  } /* Ende ELSE-Teil für wenn Dateien vorhanden sind. */
?>


Nein, geht leider auch nicht :S Immer noch nur Text, der nicht anklickbar ist :S

Ersetze mal diese Zeile hier

PHP-Code:
echo "<th align='left' href='?del=".$dateiname."'>Löschen</th>"


mit

PHP-Code:
echo "<th align='left'> <a href='?del=".$dateiname."'>Löschen</a></th>"


Soweit ich weiß gibt es kein href="" im <th>...

Danke, das hat schon mal funktioniert, jetzt habe ich nur noch das Problem, dass der Link nur bei Bilddateien angezeigt wird :S
Referenz-URLs