Pagina 3 di 6 primaprima 1 2 3 4 5 ... ultimoultimo
Visualizzazione dei risultati da 21 a 30 su 52
  1. #21
    Utente bannato
    Registrato dal
    Sep 2005
    Messaggi
    905
    allora posta il codice...

  2. #22
    codice:
    <?php
    // copydirr.inc.php
    /*
    26.07.2005
    Author: Anton Makarenko
       makarenkoa at ukrpost dot net
       webmaster at eufimb dot edu dot ua
    */
    function  copydirr($fromDir,$toDir,$chmod=0757,$ve
    rbose=false)
    /*
       copies everything from directory $fromDir to directory $toDir
       and sets up files mode $chmod
    */
    {
    //* Check for some errors
    $errors=array();
    $messages=array();
    if (!is_writable($toDir))
       $errors[]='target '.$toDir.' is not writable';
    if (!is_dir($toDir))
       $errors[]='target '.$toDir.' is not a directory';
    if (!is_dir($fromDir))
       $errors[]='source '.$fromDir.' is not a directory';
    if (!empty($errors))
       {
       if ($verbose)
           foreach($errors as $err)
               echo 'Error: '.$err.'
    ';
       return false;
       }
    //*/
    $exceptions=array('.','..');
    //* Processing
    $handle=opendir($fromDir);
    while (false!==($item=readdir($handle)))
       if (!in_array($item,$exceptions))
           {
           $from=str_replace('/cartellaa/','/',$fromDir.'/'.$item);
           $to=str_replace('/backup/','/',$toDir.'/'.$item);
          
           if (is_file($from))
               {
               if (@copy($from,$to))
                   {
                   chmod($to,$chmod);
                   touch($to,filemtime($from)); // to track last modified time
                   $messages[]='File copied from '.$from.' to '.$to;
                   }
               else
                   $errors[]='cannot copy file from '.$from.' to '.$to;
               }
           if (is_dir($from))
               {
               if (@mkdir($to))
                   {
                   chmod($to,$chmod);
                   $messages[]='Directory created: '.$to;
                   }
               else
                   $errors[]='cannot create directory '.$to;
               copydirr($from,$to,$chmod,$verbose);
               }
           }
    closedir($handle);
    //*/
    //* Output
    if ($verbose)
       {
       foreach($errors as $err)
           echo 'Error: '.$err.'
    ';
       foreach($messages as $msg)
           echo $msg.'
    ';
       }
    //*/
    return true;
    }
    /* sample usage:
    WARNING:
    if You set wrong $chmod then You'll not be able to access files and directories
    in destination directory.
    For example: once upon a time I've called the function with parameters:
    copydir($fromDir,$toDir,true);
    What happened? I've forgotten one parameter (chmod)
    What happened next? Those files and directories became inaccessible for me
    (they had mode 0001), so I had to ask sysadmin to delete them from root account
    Be careful :-)
    <?php
    require('./copydirr.inc.php');
    copydirr('./testSRC','D:/srv/Apache2/htdocs/testDEST',0777,true);
    ?>
    */
    ?>

  3. #23
    Utente bannato
    Registrato dal
    Sep 2005
    Messaggi
    905
    Codice PHP:
    <?php
    function copia_cartella($source$dest$messages_reporting=false$error_reporting=false) {
      if(
    $error_reporting$errors = array();
      if(
    $messages_reporting$msgs = array();
      if(!
    is_dir($source)) {
        if(
    $error_reporting$errors[] = "Impossibile copiare la directory $source perchè non esiste.";
        if(
    $messages_reporting$messages[] = "La procedura di copia è stata interrotta poichè la directory $source non esiste.";
        return 
    false;
      }
      if(!
    mkdir($dest)) {
        if(
    $error_reporting$errors[] = "Impossibile creare la directory di destinazione $dest";
        if(
    $messages_reporting$messages[] = "La directory $dest non è stata creata a causa di problemi. La procedura di copia verrà interrotta.";
        return 
    false;
      }else{ if(
    $messages_reporting$messages[] = "La cartella di destinazione $dest è stata creata. La procedura di copia verrà avviata."; }
      if(!
    $handle opendir($source)) {
        if(
    $error_reporting$errors[] = "Impossibile aprire la directory $source.";
        if(
    $messages_reporting$messages[] = "La cartella $source non è leggibile, la procedura di copia verrà interrotta.";
        return 
    false;
      }else{
        
    $source = (substr($source, -11) != "/") ? $source : (substr($source0strlen($source) - 1));
        
    $dest = (substr($dest, -11) != "/") ? $dest : (substr($dest0strlen($dest) - 1));
        while(
    $file readdir($handle)) {
          if(
    $file != "." && $file != "..") {
            if(!
    is_readable($source "/" $file)) {
              if(
    $error_reporting$errors[] = "Il file $file non è leggibile e non verrà copiato.";
              if(
    $messages_reporting$messages[] = "Il file $file non è leggibile e non verrà copiato.";
              continue;
            }
            if(!
    copy($source "/" $file$dest "/" $file)) {
              if(
    $error_reporting$errors[] = "Il file $file non è stato copiato.";
              if(
    $messages_reporting$messages[] = "Il file $file non è stato copiato a causa di problemi.";
              continue;
            }
            if(
    $messages_reporting$messages[] = "Il file $file è stato copiato.";
          }
        }
      }
      if(
    $error_reporting) {
        foreach(
    $errors as $error) {
          echo 
    "[b]<font color=\"red\">ERRORE:</font>[/b] ".$error."
    \n"
    ;
        }
      }
      if(
    $messages_reporting) {
        foreach(
    $messages as $message) {
          echo 
    "[b]<font color=\"black\">MESSAGGIO:</font>[/b] ".$error."
    \n"
    ;
        }
      }
      return 
    true;
    }
    ?>
    prova questa l'ho scritta io per usarla fai:
    se vuoi i messaggi:
    copia_cartella("ciao/", "caio/", true);
    se vuoi i messaggi e gli errori:
    copia_cartella("ciao/", "caio/", true, true);
    se vuoi gli errori ma non i messaggi:
    copia_cartella("ciao/", "caio/", false, true);
    se non vuoi errori a video:
    copia_cartella("ciao/", "caio/");

    attenzione: non mettere mai nella funzione ./ .

    dimmi se va, non l'ho neanche testata.

  4. #24
    Mi sembra un pttimo script! Migliore degli altri due postati sicuramente! Ottimo lavoro php_34! Bisogna solo vedere se funziona e se hai fatto centro al primo colpo!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  5. #25
    funziona ma non copia le sottodirectory e me li fa a file di testo (

  6. #26
    Utente bannato
    Registrato dal
    Sep 2005
    Messaggi
    905
    lo so ho dimenticato di dirtelo scusa non copia le directory, non potresti cercare di non crearne?

    Io adesso ti posto un codice, c'è una parte che è una pazzia, non so se funziona..proviamo:
    Codice PHP:
    <?php
    function copia_cartella($source$dest$messages_reporting=false$error_reporting=false) {
      if(
    $error_reporting$errors = array();
      if(
    $messages_reporting$msgs = array();
      if(!
    is_dir($source)) {
        if(
    $error_reporting$errors[] = "Impossibile copiare la directory $source perchè non esiste.";
        if(
    $messages_reporting$messages[] = "La procedura di copia è stata interrotta poichè la directory $source non esiste.";
        return 
    false;
      }
      if(!
    mkdir($dest)) {
        if(
    $error_reporting$errors[] = "Impossibile creare la directory di destinazione $dest";
        if(
    $messages_reporting$messages[] = "La directory $dest non è stata creata a causa di problemi. La procedura di copia verrà interrotta.";
        return 
    false;
        exit;
      }else{ if(
    $messages_reporting$messages[] = "La cartella di destinazione $dest è stata creata. La procedura di copia verrà avviata."; }
      if(!
    $handle opendir($source)) {
        if(
    $error_reporting$errors[] = "Impossibile aprire la directory $source.";
        if(
    $messages_reporting$messages[] = "La cartella $source non è leggibile, la procedura di copia verrà interrotta.";
        return 
    false;
        exit;
      }else{
        
    $source = (substr($source, -11) != "/") ? $source : (substr($source0strlen($source) - 1));
        
    $dest = (substr($dest, -11) != "/") ? $dest : (substr($dest0strlen($dest) - 1));
        while(
    $file readdir($handle)) {
          if(
    $file != "." && $file != "..") {
            if(
    is_dir) {
              if(@
    mkdir($source "/" $file)) {
                if(
    $messages_reporting$messages[] = "La sottocartella $file è stata creata.";
                
    copia_cartella($source "/" $file$dest "/" $file$messages_reporting$error_reporting);
              }else{
                if(
    $messages_reporting$messages[] = "La sottocartella $file non è stata creata.";
                if(
    $error_reporting$errors[] = "La sottocartella $file non è stata creata.";
                continue;
              }
            }
            if(
    is_file($source "/" $file)) {
            if(!
    is_readable($source "/" $file)) {
              if(
    $error_reporting$errors[] = "Il file $file non è leggibile e non verrà copiato.";
              if(
    $messages_reporting$messages[] = "Il file $file non è leggibile e non verrà copiato.";
              continue;
            }
            if(@
    copy($source "/" $file$dest "/" $file)) {
              if(
    $messages_reporting$messages[] = "Il file $file è stato copiato.";
            }else{
              if(
    $error_reporting$errors[] = "Il file $file non è stato copiato.";
              if(
    $messages_reporting$messages[] = "Il file $file non è stato copiato a causa di problemi.";
              continue;
            } }
          }
        }
      }
      if(
    $error_reporting) {
        foreach(
    $errors as $error) {
          echo 
    "[b]<font color=\"red\">ERRORE:</font>[/b] ".$error."
    \n"
    ;
        }
      }
      if(
    $messages_reporting) {
        foreach(
    $messages as $message) {
          echo 
    "[b]<font color=\"black\">MESSAGGIO:</font>[/b] ".$error."
    \n"
    ;
        }
      }
      return 
    true;
    }
    ?>
    ecco prova questo.

    @mirkov: GRAZIE molto gentile (a differenza di altri ...)

  7. #27
    ok provo (ps: si aziona come prima?)

  8. #28
    glab....questa ha solo creato la cartella..e non ha messo nessun file....
    MESSAGGIO: La sottocartella prova.php non è stata creata.
    non è una sub....

  9. #29
    Utente bannato
    Registrato dal
    Sep 2005
    Messaggi
    905
    Originariamente inviato da kikkolino
    glab....questa ha solo creato la cartella..e non ha messo nessun file....
    MESSAGGIO: La sottocartella prova.php non è stata creata.
    non è una sub....
    calma calma calma allora abilita gli errori e i messaggi e dimmi cosa esce...avevo detto che era una pazzia

  10. #30
    Utente bannato
    Registrato dal
    Sep 2005
    Messaggi
    905
    prova questo, altra pazzia ma dovrebbe andare:
    Codice PHP:
    <?php
    function copia_cartella($source$dest$messages_reporting=false$error_reporting=false) {
      if(!
    is_dir($source)) {
        if(
    $error_reporting$errors[] = "Impossibile copiare la directory $source perchè non esiste.";
        if(
    $messages_reporting$messages[] = "La procedura di copia è stata interrotta poichè la directory $source non esiste.";
        return 
    false;
        exit;
      }
      if(!
    mkdir($dest)) {
        if(
    $error_reporting$errors[] = "Impossibile creare la directory di destinazione $dest";
        if(
    $messages_reporting$messages[] = "La directory $dest non è stata creata a causa di problemi. La procedura di copia verrà interrotta.";
        return 
    false;
        exit;
      }else{ if(
    $messages_reporting$messages[] = "La cartella di destinazione $dest è stata creata. La procedura di copia verrà avviata."; }
      if(!
    $handle opendir($source)) {
        if(
    $error_reporting$errors[] = "Impossibile aprire la directory $source.";
        if(
    $messages_reporting$messages[] = "La cartella $source non è leggibile, la procedura di copia verrà interrotta.";
        return 
    false;
        exit;
      }else{
        
    $source = (substr($source, -11) != "/") ? $source : (substr($source0strlen($source) - 1));
        
    $dest = (substr($dest, -11) != "/") ? $dest : (substr($dest0strlen($dest) - 1));
        while(
    $file readdir($handle)) {
          if(
    $file != "." && $file != "..") {
            if(
    is_dir) {
              if(@
    mkdir($dest "/" $file)) {
                if(
    $messages_reporting$messages[] = "La sottocartella $file è stata creata.";
                
    copia_cartella($source "/" $file$dest "/" $file$messages_reporting$error_reporting);
              }else{
                if(
    $messages_reporting$messages[] = "La sottocartella $file non è stata creata.";
                if(
    $error_reporting$errors[] = "La sottocartella $file non è stata creata.";
                continue;
              }
            }
            if(
    is_file($source "/" $file)) {
            if(!
    is_readable($source "/" $file)) {
              if(
    $error_reporting$errors[] = "Il file $file non è leggibile e non verrà copiato.";
              if(
    $messages_reporting$messages[] = "Il file $file non è leggibile e non verrà copiato.";
              continue;
            }
            if(@
    copy($source "/" $file$dest "/" $file)) {
              if(
    $messages_reporting$messages[] = "Il file $file è stato copiato con successo.";
            }else{
              if(
    $error_reporting$errors[] = "Il file $file non è stato copiato.";
              if(
    $messages_reporting$messages[] = "Il file $file non è stato copiato a causa di problemi.";
              continue;
            } }
          }
        }
      
    closedir($handle);
      }
      if(
    $error_reporting && isset($errors)) {
        foreach(
    $errors as $error) {
          echo 
    "[b]<font color=\"red\">ERRORE:</font>[/b] ".$error."
    \n"
    ;
        }
      }
      if(
    $messages_reporting && isset($messages)) {
        foreach(
    $messages as $message) {
          echo 
    "[b]<font color=\"black\">MESSAGGIO:</font>[/b] ".$error."
    \n"
    ;
        }
      }
      return 
    true;
    }
    ?>
    dimmi ora..

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 © 2026 vBulletin Solutions, Inc. All rights reserved.