Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Funzionamento copy()

  1. #1

    Funzionamento copy()

    Scusate ma sono proprio impedito

    Non riesco a far funzionare il comando copy.
    Qualcuno può essere così gentile da farmi un codice funzionante che copia, ad esempio, il file "1.txt" contenuto nella cartella "cartella1" nella "cartella2".

    Grazie

  2. #2
    codice:
    <?php
    $file = 'cartella1/1.txt';
    $newfile = 'cartella2/1.txt';
    
    $copia = @copy($file, $newfile))
    
    if($copia){
    echo "Copia di $file in $newfile riuscita ...\n";
    } else {
    echo "Copia di $file in $newfile non riuscita ...\n";
    }
    ?>

  3. #3
    Il tuo codice funziona

    Ho provato però a far si che php leggesse tutti i file contenuti in una cartella e li trasferisse in un' altra (Seguendo una pillola) usando questo codice:

    Codice PHP:
    <?
    function prova($prova)
    {
    $stringa "Hai scritto: $prova";
    return (
    $stringa);
    }

    function 
    dirtree($path){ 
        
    /** 
        * author: kuarl<grivier@animeterminal.it> 
    * date: 26-08-2002 
    */ 
        
    $fd opendir($path); 
        while(
    $file readdir($fd)){ 
            if(
    $file != '.' && $file != '..'){ 
                
    $ris[count($ris)] = $path."/".$file
                if(
    is_dir($ris[count($ris)-1])){ 
                    unset(
    $ris[count($ris)-1]); 
                    
    $ris array_merge($risdirtree($path."/".$file)); 
                }                 
            } 
        } 
        
    // questo pezzo serve x le directory vuote 
        
    if(!@sort($ris)){  
            
    $ris[0] = $path
        } 
        
    //------------------------------------------------ 
        
    closedir($fd); 
        return 
    $ris
    }


    echo (
    prova("ciao"));
    $dir = (dirtree("aoe/"));

    $max_num count($dir);
    for (
    $counter=1$counter<=$max_num$counter++)
    {
    print 
    $dir[$counter] . "
    "
    ;

    $file "$dir[$counter]";
    $newfile "chiamatekatia/$file";

    $copia = @copy($file$newfile);

    if(
    $copia){
    echo 
    "Copia di $file in $newfile riuscita ...\n
    "
    ;
    } else {
    echo 
    "Copia di $file in $newfile non riuscita ...\n
    "
    ;
    }
    }
    ?>
    E in questo caso non funziona più, seppure sia la cartella "aoe" che la cartella "chiamatekatia" esistono!

  4. #4
    codice:
    <?php
    $cartella_origine = "aoe";
    $cartella_destinazione = "chiamatekatia";
    
    if (is_dir($cartella_origine)) {
       if ($dh = opendir($cartella_origine)) {
         while (($file = readdir($dh)) !== false) 
         {
            $old = $cartella_origine."/".$file;
            $new = $cartella_destinazione."/".$file;
            @copy($old, $new);
         }
           closedir($dh);
       }
    }
    
    ?>

  5. #5
    Allora il codice non funziona perchè la funzione che mi restituisce tutti file della cartella (e delle sottocartelle) non mi restituisce solo il nome del file, ma anche la sua cartella.

    Quindi se nella cartella "aoe" c'è il file "ciao.txt" lui mi restituisce: "aoe/ciao.txt".

    E questo credo essere l'errore per cui il tu oscript non funziona. Ma purtroppo non riesco a riadattarlo in modo che funzioni

  6. #6
    eh ci deve essere anche la cartella, poi dipende dalla struttura dei file, col mio esempio deve essere così:

    codice:
    root
    |_ oea
        |_ 1.txt
        |_ 2.txt
    |_ chiamatekatia
    |_ script.php

    al limite togli @ davanti a copy e stampa l'errore che ti da, cmq dimenticavo chiamtekatia deve essere Chmoddata almeno a 775

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.