Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    cancellare directory-sottodirectory-file

    ho bisolgno di uno scrippettino che non so fare

    dunque, vorrei realizzare una funzione a cui io passo un nome di directory e quella mia cancella tutta la struttura di directory-sottodirectory-files.

    perché ho visto che l'unlink se la directory ha al suo interno una struttura del genere non mi lascia cancellare.

    Sapete mica dove posso trovare una funzione che faccia al caso mio?
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    http://www.lixlpixel.org/recursive_f...ectory_delete/

    Guarda qui, magari dopo avermi cazziato mi perdoni.

  3. #3
    appena ho tempo ci do' un'occhiata! ora mi sono spuntati un sacco di problemucci su un sito e devo correrci dietro...


    intanto grazie mille!
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Un'altra funzioncina più concisa che fa lo stesso lavoro è questa:

    Codice PHP:
    function delete_recursive_dirs($dirname
    {   
      if(
    is_dir($dirname))$dir_handle=opendir($dirname); 
      while(
    $file=readdir($dir_handle)) 
      { 
        if(
    $file!="." && $file!=".."
        { 
          if(!
    is_dir($dirname."/".$file))unlink ($dirname."/".$file); 
          else 
    delete_recursive_dirs($dirname."/".$file); 
        } 
      } 
      
    closedir($dir_handle); 
      
    rmdir($dirname); 
      return 
    true


  5. #5
    ti ringrazio!

    sto provando ad usare la seconda con un po' di difficolta, LOL
    il problema sta nel fatto che non tutte le directory hanno i permessi settati a 777 quindi alcune non le posso cancellare, quindi ho aggiunto nella funzione dei chmod in modo da settare i permessi e poi poter cancellare; ora la funzione è diventata così:
    Codice PHP:
    <?php
    function delete_recursive_dirs($dirname){   
        if(
    is_dir($dirname)){
            
    $dir_handle=opendir($dirname);
            
    chmod($dirname,0777);
        }
        while(
    $file=readdir($dir_handle)){
            if(
    $file!="." && $file!=".."){
                if(!
    is_dir($dirname."/".$file)){
                    
    chmod($dirname."/".$file,0777);
                    
    unlink ($dirname."/".$file);
                }
                else{
                    
    chmod($dirname."/".$file,0777);
                    
    delete_recursive_dirs($dirname."/".$file);
                }
            }
        }
        
    closedir($dir_handle);
        
    rmdir($dirname);
        return 
    true;
    }
    ma ciò che ne ottengo sono una serie di warning sui chmod e poi andando a verificare noto che i permessi me li ha settati solo al primo livello. Per capirci meglio ho una struttura del genere (molto semplificata):
    codice:
    brim/
    |
    +-- plugins/
    |    |
    |    +-- ita/
    |
    +-- templates/
    e alla fine della prima applicazione ho che solo la cartella brim ha i permessi a 777 mentre le altre no e ne ottengo quindi anche degli warning, oltre che sui chmod, anche sui rispettivi unlink.

    Purtroppo non sono amministratore del sistema e cancellare da shell non posso, e cancellando da ftp non lo posso fare perché ho dei .htaccess che non si cancellano e l'unico metodo che ho trovato è quello di farlo via script...
    L'avevo già fatto altre volte, ma erano sempre directory "piatte"




    Any idea?
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

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.