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

    Copiare file su più directory

    Buon giorno, ho la necessità di prendere un file host1.txt da una cartella, rinominarlo all'interno della stessa e copiarlo dentro altre n cartelle...
    Come è possibile fare tutto ciò?
    Grazie mille...

  2. #2
    due funzioni

    rename()
    copy()

  3. #3
    ciao oly1982, buon giorno e grazie per la risposta.
    Ho fatto in questo modo, lo rinomina ma non lo copia, come mai?
    Codice PHP:
    if (copy($path.$filechmod($path."sisi",0755))) {
        echo 
    "Copia di $file riuscita ...
    \n"
    ;
        
    $file2 "host2.txt";
        
    rename($path.$file,$path.$file2);

    grazie ancora :_D

  4. #4
    scusami....avevo dimenticato di inserire,nella copia, il file....
    e se volessi copiarlo su più directory, devo utilizzare un ciclo while, cosi una volta estrapolate tutte le directory, all'interno del secondo parametro di copy, inserisco tutte le directory giusto?
    grazie ancora.

  5. #5
    dipende le "più directory" dove le hai messe... se ad esempio sono in un array usi un foreach

  6. #6
    fatto fatto...ok...
    adesso domanda da un milione di euro.
    se invece delle normali cartelle, dovessi copiare un file su più host, sapendo ovviamente già username e password per accedervi?
    Come dovrei fare?
    grazie ancora...

  7. #7
    mmmmmmm... non ho mai fatto cose di questo genere, però ho letto qualcosa sul tema senza mai provarla concretamente quindi magari aspetta pareri più autorevoli. Ti dico ciò che sò...

    Per colllegarsi ad un altro host via ftp vi sono una serie di funzioni che (generalmente) hanno un nome di questo genere
    ftp_qualcosa(parametri, separati, da, virgola)

    ce ne seno diverse che potrebbero fare al caso tuo:
    http://www.php.net/manual/en/function.ftp-alloc.php
    http://www.php.net/manual/en/function.ftp-put.php
    http://www.php.net/manual/en/function.ftp-fput.php

  8. #8
    ti ringrazio sei stato molto gentile....
    buona giornata e buon lavoro.

  9. #9
    purtroppo devo stravolgere quasi completamente lo script.
    Mi spiego.
    Ho un file.exe nella dir principale "DOC" e devo copiarlo all'interno di "n" cartelle.
    All'interno di queste cartelle è già presente un file.exe.
    Praticamente, devo rinominare il file.exe in file_13082010.exe, in tutte le cartelle, dopodichè, copiare il file.exe aggiornato all'ultima versione.
    Purtroppo mi sono impantanato con questo script:
    Codice PHP:
    $path             "DOC/";
        
    $fileDaCopiare     "bag.exe";
        
    $fileDaLeggere    "host1.txt";
        if (
    is_dir($path)){
            if (
    file_exists($path.$fileDaCopiare)){//verifico se host1.txt esiste nella directory principale
                
                
    $var=fopen($path.$fileDaLeggere,"a+");//apro file in lettura/scrittura //r=?
                
    $var2=file($path.$fileDaLeggere);//estraggo l'array dal file .txt
                
    $leggi=fread($var,filesize($path.$fileDaLeggere));//leggo il contenuto del file
                
    $sss=nl2br($leggi);//inserisco il tag HTML di 'a capo' prima di tutti i caratteri di 'a capo' della stringa 
                
    fclose($var);//chiudo il file in lettura/scrittura
                
    $i=count($var2);//conto gli elementi nell'array



    for($a=0$a<=$i$a++){//uso il ciclo for per guardare nell'array
    if(file_exists($path.trim($var2[$a])."/".$fileDaCopiare))
                    {
    $doveCercare explode(".",$fileDaCopiare);
                        echo 
    $doveCercare[0] . " - " $doveCercare[1]. "\n";
                        
    $fileDaSostituire $doveCercare[0] . "_" date('d') . date('m') . date('Y') . "." $doveCercare[1];
    if(
    rename($path.$fileDaCopiare,$path.trim($var2[$a])."/".$fileDaSostituire)){
                            echo 
    "$file in $var2[$a] rinominato ...
    \n"
    ;
                        }
                        else{
                            echo 
    "Non è stato possibile rinominare $file";
                        }
    /*if (copy($path.$fileDaCopiare, $path.trim($var2[$a])."/".$fileDaCopiare)) {
                           echo "Copia di $file in $var2[$a] riuscita ...
    \n";
                        }
                        else{
                            echo "Copia di $file non riuscita ...
    \n";
                        }*/
                    
    }
                    else{
                        echo 
    "Non presente nessun " $fileDaCopiare;
                    }
                }
    //fine ciclo for
    }
            else{
                echo 
    "Non &egrave; presente nessun file da copiare con questo nome ";
            }
        }    
        else{
            echo 
    "La directory selezionata non esiste!";
        } 
    Capisco che, dovrebbe prima rinominare tutti i file che trova nelle cartelle e solo dopo fare la copia del nuovo file, ma....come faccio?
    Devo utilizzare due cicli for?
    Aiutatemi per favore

    Grazie mille e buona giornata.

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.