Stránka 1 z 1

Vymazání obsahu celé složky na ftp

Napsal: 29 led 2013 09:52
od Gizzer2
Ahoj,

mám takovýto kód:

Kód: Vybrat vše

   <?php
      if ( @$_GET['m']=="erase" && isset($_GET['d']) && isset($_GET['f']) )
 {
$fn = $_GET['d']."/".$_GET['f'];
  if ( file_exists($fn) ) {
    if ( unlink($fn) ) { echo "Soubor ".$_GET['f']." byl smazán!"; } else { echo "Soubor ".$_GET['f']." nelze smazat..."; }
  } else { echo "Soubor nenalezen."; }
}
   
?>  <center> <br><br><br>
<table border="2" style="float: left;" bgcolor="silver" width="50%">
 <tr bgcolor="green"><td style="text-align:center;" colspan="4"><h2><h2>Playerstaty</h2></th><td><img widtd="60" height="50"" src="http://4.bp.blogspot.com/_rKx6H_cXP34/SyiLDHPFIeI/AAAAAAAAABM/lXLzamsTnvg/s320/nhl_logo.gif"></td></tr>
<tr bgcolor="gray"><th>Pořadí</th><th>Název souboru uloženého na ftp <?php
print 'v ' . $confname . '  ' . "\n";?> </th><th style="width:15em">Datum změny</th><th>Velikost</th><th style="width:3em">Smazat</th></tr>
    <?php
   
    $dir = 'playerstaty/confid='.$_GET['conf'].'';
$hn = opendir($dir);
while (false !== ($file = readdir($hn))) $files[$file] = filemtime($dir."/".$file);
closedir($hn);
arsort($files);
$i = 1; //razení podle jména A-Z
//krsort($files); //razení podle jména Z-A
//asort($files); //razení podle data 0-9
//arsort($files); //razení podle data 9-0
foreach ($files as $file => $time) {
  if (strstr($file,".csv")) { //filtr
    echo "<tr>"
    ."<td align=\"center\">" . $i . "</td>"
          ."<td align=\"center\"><a href=\"d.php?d=$dir&f=$file\" title=\"$file\">$file</a></td>"
          ."<td align=\"center\">".date('d-m-Y  H:i:s',filemtime($dir."/".$file))."</td>"
          ."<td align=\"right\">".filesize($dir."/".$file)." B</td>"
          ."<td align=\"center\"><a href=\"index.php?action=ftp&conf=$conf&m=erase&d=$dir&f=$file\" title=\"$file\">X</a></td>"
        ."</tr>\n";
       
        $i++;
  }
}
?>
</table>


Zobrazuje a maže obsah složky po jednotlivém souboru na ftp.
Jak přidat tlačítko pro smazání obsahu celé složky a zachovat i mazání po jednom souboru? Tak aby složka zůstala a jen se vymazal její obsah.
Díky za radu.

Re: Vymazání obsahu celé složky na ftp

Napsal: 29 led 2013 14:45
od CZechBoY
soubory ve složce zjistíš přes

Kód: Vybrat vše

$soubory = scandir($slozka);

musíš si ale dát bacha na soubory začínající tečkou - jak "." (aktuální adresář), tak ".." (nadřazený adresář), tečka obecně v linuxu označuje skrytý soubor (.htaccess, .htpasswd)

Re: Vymazání obsahu celé složky na ftp

Napsal: 29 led 2013 17:28
od Gizzer2
To já je mám zjištěný a i zobrazený, viz. http://michales.eu/ftp.php?conf=12
Já potřebuji docílit toho že bude někde tlačítko smazat komplet tak aby mi to smazalo všechny soubory najednou v příslušném adresáři, abych je nemusel mazat po jednom .

Re: Vymazání obsahu celé složky na ftp

Napsal: 29 led 2013 17:44
od CrazyC0de
No a co ti asi napsal ? :evil:

Kód: Vybrat vše

<?php
$soubory = scandir('slozka');
$pocet = count($soubory);
$pocet = $pocet - 1;
$i = 2;
while($i <= $pocet){
$soubor = $soubory[$i];
unlink('slozka/'.$soubor.'');
$i++;
}



?>

Re: Vymazání obsahu celé složky na ftp

Napsal: 29 led 2013 18:32
od Gizzer2
Mám tento kód na smazání

Kód: Vybrat vše

<?
function delTree($dir) {
    $files = glob( $dir . '*', GLOB_MARK );
    foreach( $files as $file ){
        if( is_dir( $file ) )
            delTree( $file );
        else
            unlink( $file );
    }
   
   // if (is_dir($dir)) rmdir( $dir );
   
}
?>

Problém je v tom že nic nesmaže a ani chybu neukazuje :oops:

Re: Vymazání obsahu celé složky na ftp

Napsal: 29 led 2013 20:10
od CZechBoY
řekl bych, že tam budeš muset připojit ten $dir, pač glob vrací jen názvy souborů (nikoliv celou cestu)

Re: Vymazání obsahu celé složky na ftp

Napsal: 29 led 2013 20:50
od CrazyC0de
Gizzere, proč nepoužiješ moji funkci ?

Re: Vymazání obsahu celé složky na ftp  Vyřešeno

Napsal: 22 úno 2013 11:13
od Gizzer2
Velice děkuji LuCaCZ za veškerou pomoc, defakto mi to celé udělal. Díky