Probleme de création et de copie de Répertoire

jdaviaud Messages postés 151 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 8 octobre 2013 - 28 déc. 2003 à 21:59
TSP05 Messages postés 1 Date d'inscription vendredi 19 septembre 2008 Statut Membre Dernière intervention 19 septembre 2008 - 19 sept. 2008 à 12:14
Voila, dans mon script, j'utilise les deux fonctions suivantes pour copier le contenu d'un répertoire avec creation du nouveau répertoire de destination

function ls_a($wh){
if ($handle = opendir($wh)) { while (false !($file readdir($handle))) {
if ($file != "." && $file != ".." ) {
if(!$files) $files="$file";
else $files="$file\n$files";
}
}
closedir($handle);
}
$arr=explode("\n",$files);
return $arr;
}

cp($membersdir_path.$templates_dir, $membersdir_path.$login_member);



function file_writer($fileurl,$contents)
{
$file=@fopen($fileurl,'w') or die("$fileurl File Does'nt Exists");
if($contents)
{
if(@fwrite($file,$contents))
{
fclose($file);
return true;
}}}

La fonction marche tres bien sauf qu'il me crée à chaque fois un répertoire en chmod 755 et les fichiers sont egalement en 755

donc estce que quelqu'un saurait comment je dois faire pour avoir un chmod 777 sur le repertoire et les fichiers

Le répertoire source et le répertoire qui contient le script sont deja en 777

D'avance merci car je seche completement

Julien

2 réponses

floflotz Messages postés 240 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 6 janvier 2006
28 déc. 2003 à 22:38
tu peux faire un chmod("fichier",777) a chaque fois que tu as copié un fichier
0
TSP05 Messages postés 1 Date d'inscription vendredi 19 septembre 2008 Statut Membre Dernière intervention 19 septembre 2008
19 sept. 2008 à 12:14
j ai un probleme aussi avec la copie de repertoires et de son contenu dans un autre repertoire, j ai tjrs cette erreur qui apparait
Fatal error: Maximum execution time of 60 seconds exceeded in C:\xampp\htdocs\xampp\test7.php on line 11

l ouverture du fichier source se passe bien mais avec trop de temps, et parfois la copie d une partie du repertoire se passe mais jamais tout le contenu alors que le contenu n est pas ac grand.
Merci de m aider
Voici le script
<?php
function deplace_dir($source,$destination){
    if (!is_dir($destination)){
        mkdir($destination,0777);
    }
    $dossier=opendir($source);

    while (false !=  ($fichier = readdir($dossier))) {// attention a la version de php pour le "!= ="
            $l = array('.', '..');   
            if (!in_array( $fichier, $l)){
                    if (is_dir($source."/".$fichier)){
                        deplace_dir($source."/".$fichier, $destination."/".$fichier);
                    }
                    else{
                        copy ($source."/".$fichier, $destination."/".$fichier);
                        unlink($source."/".$fichier);   
                    }
            }
    }
    @closedir($dossier);
    rmdir($source);
}

$source = '//192.168.0.121/flash/';
$destination ='C:\Test\Destination';

$result = deplace_dir($source, $destination);
print($result);
?
0
Rejoignez-nous