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
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
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"; } ?>
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:
E in questo caso non funziona più, seppure sia la cartella "aoe" che la cartella "chiamatekatia" esistono!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($ris, dirtree($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
";
}
}
?>
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); } } ?>
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![]()
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