Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    320

    Problema con la cancellazione di un file

    Ciao
    facendo un backup salvo il file con nome_file+data_odierna.gz
    dopo molti salvataggi ho la necessità di ripulire la dir dai backup vecchi ma di mantenere l'ultimo fatto oggi e scrivo:
    $oggi=date("-m-d");
    if(file_exists($file)) {
    include($file);

    $handle = opendir('backup');
    while (false !== ($file = readdir($handle))) {
    if ($file != "." && $file != ".." && substr($file,-3) == '.gz')
    { if($file != "." && $file != ".." && substr($file,-9) == '$oggi.gz'){}else{
    echo "$file ELIMINATO
    ";
    $nomefile="backup/$file";
    unlink($nomefile);}
    }
    }
    closedir($handle);

    purtroppo la cancellazione è totale e non mi rimane l'ultimo backup
    non riesco a trovare l'errore nel codice
    chi mi aiuta ?
    Felicità e Prosperità a tutti

  2. #2
    controlla l'uso degli && (codizioni valide contemporaneamente)!!!!!!
    Inoltre con il primo condizionale hai già eliminato dir e parent_dir quindi è inutile che te li riporti appresso.
    codice:
    $oggi=date("-m-d"); 
    if(file_exists($file)) { 
    include($file); 
    
    $handle = opendir('backup'); 
    while (false !== ($file = readdir($handle))) { 
    if (substr($file,-3) == '.gz') 
    { if(substr($file,-9) == '$oggi.gz'){}else{ 
    echo "$file ELIMINATO
    "; 
    $nomefile="backup/$file"; 
    unlink($nomefile);} 
    } 
    } 
    closedir($handle);
    inoltre,personalmente, semplificherei il codice

    codice:
    $oggi=date("-m-d"); 
    if(file_exists($file)) { 
    include($file); 
    
    $handle = opendir('backup'); 
    while (false !== ($file = readdir($handle))) { 
    if (substr($file,-3) == '.gz') 
    { 
      if(substr($file,-9) != '$oggi.gz')
      { 
      echo "$file ELIMINATO
    "; 
      $nomefile="backup/$file"; 
      unlink($nomefile);} 
      } 
    } 
    closedir($handle);

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    320
    si scritto così ora funziona

    $oggi=date("-m-d");
    if(file_exists($file)) {
    include($file);

    $handle = opendir('backup');
    while (false !== ($file = readdir($handle))) {
    if (substr($file,-3) == '.gz')
    {
    if(substr($file,-9) != '$oggi.gz')//file da non eliminare
    {}else{
    echo "$file ELIMINATO
    ";
    $nomefile="backup/$file";
    unlink($nomefile);}
    }
    }
    closedir($handle);


    Grazie
    Felicità e Prosperità a tutti

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    320
    per esattezza è così
    $oggi=date("-m-d");
    if(file_exists($file)) {
    include($file);

    $handle = opendir('backup');
    while (false !== ($file = readdir($handle))) {
    if (substr($file,-3) == '.gz')
    {
    if(substr($file,-9) == '$oggi.gz')//file da non eliminare
    {}else{
    echo "$file ELIMINATO
    ";
    $nomefile="backup/$file";
    unlink($nomefile);}
    }
    }
    closedir($handle);
    Felicità e Prosperità a tutti

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.