Sponsor-Board.de
Antwort schreiben  Thema schreiben 

Dateien mit php von Webspace löschen

Verfasser Nachricht

Beiträge: 117
Bewertung: 0
Registriert seit: Jan 2013
Status: offline


Beitrag: #1
Dateien mit php von Webspace löschen

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

26.05.2013 16:11
 
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

Beiträge: 2.492
Bewertung: 29
Registriert seit: Jul 2010
Status: offline


Beitrag: #2
RE: Dateien mit php von Webspace löschen

Erweiterung der Tabelle und mit unlink die Datei löschen.


Mit freundlichen Grüßen / Best Regards
Julian Weiler | Geschäftsführender Gesellschafter

[Link: Registrierung erforderlich] ist außerdem bei [Link: Registrierung erforderlich], [Link: Registrierung erforderlich] und [Link: Registrierung erforderlich]

Telefon: +49 (0) 67 74 / 20 49 520
Fax: +49 (0) 67 74 / 20 49 520 9
E-Mail: [Mail: Registrierung erforderlich]

26.05.2013 16:22
 
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

Beiträge: 260
Bewertung: 23
Registriert seit: Apr 2012
Status: offline


Beitrag: #3
RE: Dateien mit php von Webspace 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. */
?>


[Link: Registrierung erforderlich]
[Link: Registrierung erforderlich]

26.05.2013 16:25
 
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

 
Beiträge: Keine Angabe
Registriert seit: Keine Angabe
Status: Unbekannt


Beitrag: #4
RE: Dateien mit php von Webspace löschen

-

26.05.2013 16:28
 
Diese Nachricht in einer Antwort zitieren

Beiträge: 117
Bewertung: 0
Registriert seit: Jan 2013
Status: offline


Beitrag: #5
RE: Dateien mit php von Webspace löschen

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)

26.05.2013 17:30
 
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
- # PUSH # - 28.05.2013 - 22:10 Uhr -

Beiträge: 356
Bewertung: 30
Registriert seit: Oct 2011
Status: offline


Beitrag: #6
RE: Dateien mit php von Webspace löschen

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. */
?>

28.05.2013 21:46
 
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

Beiträge: 117
Bewertung: 0
Registriert seit: Jan 2013
Status: offline


Beitrag: #7
RE: Dateien mit php von Webspace löschen

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

30.05.2013 21:38
 
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

Beiträge: 370
Bewertung: 48
Registriert seit: Mar 2011
Status: offline


Beitrag: #8
RE: Dateien mit php von Webspace löschen

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>...


PS: Was hat Israel mit Böcken und Unsicherheit zu tun? Glaubst du, dass die deine Daten an die Hamas senden und dir ein Terorkommando schicken oder hast du Angst vor dem Mossad? Tongue

Allgemeine Fragen: support[at]sponsor-board.de | persönliche Fragen: kevin[at]sponsor-board.de

Dieser Beitrag wurde zuletzt bearbeitet: 30.05.2013 22:00 von Kevv.

30.05.2013 21:56
 
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

Beiträge: 117
Bewertung: 0
Registriert seit: Jan 2013
Status: offline


Beitrag: #9
RE: Dateien mit php von Webspace löschen

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

01.06.2013 18:45
 
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Antwort schreiben  Thema schreiben 

Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Bubblesort - Doppelte Zahlen vermeiden und ausgewählte Zahlen löschen in C Kempl 4 2.226 23.03.2016 17:44
Letzter Beitrag: Kempl
  Html Dateien per Java HTTP verschicken drdev 4 1.235 11.02.2014 21:48
Letzter Beitrag: drdev
  PHP Dateien verschlüsseln Mr-Trust 5 1.073 16.07.2013 23:42
Letzter Beitrag: Marco_e
  PHP Datei entpacken, löschen Aaron 2 1.274 11.12.2012 14:22
Letzter Beitrag: Twinker
  Bitte löschen Fast-Sponsoring 1 1.091 28.11.2011 19:00
Letzter Beitrag: _DEL0002

 Druckversion anzeigen
 Thema einem Freund senden
 Thema abonnieren
 Thema zu den Favoriten hinzufügen

Sponsor-Board.de

Community
Über uns
Partner
Powered by Mybb: Copyright 2002-2024 by MyBB Group - Deutsche-Übersetzung von Mybb.de
 
© 2007-2024 Sponsor-Board.de - Hosted by OVH

Willkommen auf SB!   Sie benötigen ein Sponsoring?   1. Anmelden   2. Sponsoring-Anfrage erstellen   3. Nachrichten von Sponsoren erhalten   Kostenlos!   Jetzt registrieren