Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Problemen copy sur dédié [ Divers / Débutant(e) ] (laubro)

samedi 12 juillet 2008 à 11:59:23 | Problemen copy sur dédié

laubro

bonjour
j'ai un script de copie de repertoire qui tourne impec sur un espace mutualisé, mais une fois sur un dédié, il ne fonctionne pas bien, la copie du contenu du repertoire ne marche plus, voici le message d'erreur :


Warning: copy() [function.copy]: SAFE MODE Restriction in effect. The script whose uid is 10363 is not allowed to access /var/www/vhosts/nomdisite.com/httpdocs/repbase owned by uid 48 in /var/www/vhosts/nomdusite.com/httpdocs/administrator/class_newrep.php on line 42

Warning: copy(../repbase/index.php) [function.copy]: failed to open stream: No such file or directory in /var/www/vhosts/nomdusite.com/httpdocs/administrator/class_newrep.php on line 42

ligen 42 : copy ($fichier, $destination.'/'.basename ($rep).'/'.basename ($fichier));

le safe mode est sur ON en local et OFF en général, est ce le ON en local qui empeche la copie ?

pour info la fonction mkdir et rename (création du repertoir de destination et le fait de le renommer) fonctionne, donc mon repertoire "repbase" est bien créé avant d'être renommé

disposition des fichier

root/admin/repbase
root/admin/fichierducode.php
root/la-ou-est-copié-le-repertoire


voilà le code tel qu'il est

<?php
function create_tab ($dir) { // fonction creant le tableau contenant les repertoires et fichiers
    $dir = rtrim ($dir, '/'); // on vire un eventuel slash mis par l'utilisateur de la fonction a droite du repertoire
        if (is_dir ($dir)) // si c'est un repertoire
            $dh = opendir ($dir); // on l'ouvre
        else {
            echo $dir, ' n\'est pas un repertoire valide'; // sinon on sort! Appel de fonction non valide
            exit;
            }
        while (($file = readdir ($dh)) !== false ) { //boucle pour parcourir le repertoire
            if ($file !== '.' && $file !== '..') { // no comment
                $path =$dir.'/'.$file; // construction d'un joli chemin...
                if (is_dir ($path)) { //si on tombe sur un sous-repertoire
                    $tableau[$dir]['dir'][] = $path;
                    $tabTmp = create_tab ($path); // appel recursif pour lire a l'interieur de ce sous-repertoire
                    if (is_array ($tabTmp) && is_array ($tableau))
                        $tableau = array_merge ($tableau, $tabTmp);
                }
                else
                    $tableau[$dir]['file'][] = $path;
            }
        }
        closedir ($dh); // on ferme le repertoire courant
        if (isset ($tableau)) {
            return $tableau;
        }
    }
function copier_rep ($destination, $reps, $tableau_dir = array ()) { // fonction pour copier repertoire : on cree un repertoire de meme nom, puis on va chercher les fichiers, et on les copie. Si il y a des sous repertoires, appel recursif.
        if (empty ($tableau_dir)) {
            echo "";
            $tableau_dir = create_tab ($reps);
        }
        if (!is_array ($reps)) {
            $reps = array ($reps);
        }
        foreach ($reps as $rep) {
            if (!is_dir ($destination.'/'.basename ($rep))) {
                mkdir ($destination.'/'.basename ($rep),0777);
                if (!empty ($tableau_dir[$rep]['file']) && isset($tableau_dir[$rep]['file']) && is_array ($tableau_dir[$rep]['file'])) {
                    foreach ($tableau_dir[$rep]['file'] as $fichier) {
                        copy ($fichier, $destination.'/'.basename ($rep).'/'.basename ($fichier));
                    }
                }
                if (!empty ($tableau_dir[$rep]['dir']) && isset ($tableau_dir[$rep]['dir']) && is_array ($tableau_dir[$rep]['dir'])) {
                    copier_rep ($destination.'/'.basename ($rep), $tableau_dir[$rep]['dir'], $tableau_dir);
                }
            }
        }
    }
   
copier_rep ('..', 'repbase'); // 1er paramètre : le répertoire de destination sous forme d'une chaine
                                      // 2d paramètre : le répertoire à copier sous forme d'une chaine ou d'un tableau //----------------------------renommer le repertoire-----------------------------
                                     
if($namerep!='')
{                                     
                                                               
$repbase = "../repbase";
$new_name = "../".$namerep;


if(!is_dir($new_name)) rename($repbase, $new_name);

?>


Merci
Laubro

samedi 12 juillet 2008 à 16:06:47 | Re : Problemen copy sur dédié

Bling 182

The script whose uid is 10363 is not allowed to access /var/www/vhosts/nomdisite.com/httpdocs/repbase owned by uid 48 in /var/www/vhosts/nomdusite.com/httpdocs/administrator/class_newrep.php on line 42

C'est un problème de droits

--
Développeur web freelance - Bling182 Dev : http://freelancedev.ovh.org - http://www.bling182.fr



Cette discussion est classé dans : tableau, repertoire, rep, dir, if


Répondre à ce message

Sujets en rapport avec ce message

Fonction copy ne marche pas ! [ par daquad ] Bonjour tout le monde !Voici mon problème :J'utilise la fonction copy pour copier un répertoire, j'ai pris comme script de base celui <a target="_blan Aide (modification de mon code pour que l'on puisse créer un compte) [ par dydjy940 ] Bonjour:),J'ai pondu ce code:INDEX:  Inscription: Votre pseudo: Tableau qui disparait [ par nicool0410 ] Salut, j'ai un souci concernant un tableau dont je ne retrouve trace ensuite.Je m'explique: je souhaite remplir le tableau $rep par les noms de répert taille d'un repertoire avec ses sous repertoires [ par nicofree ] Salut a tous voila je cherche une fonction qui compte tous les fichier d'un répertoire et surtout,(ce qui me pose probleme) ses sous repertoire égalem Test si c'est un repertoire ou un fichier !! [ par rich25200 ] Bonjour, Je comprends rien !! enfin bon si mais je sais pas pk il reagit comme ca.... Je vous explique j'ai du code pour tester si c'est un repertoi Explorateur de fichier - Methode de securiter [ par Mastronic ] Bonjour, je programme un explorateur pour voir et charger les fichiers depuis un repertoire sur un site internet.Je construit de facon recursif,  l'ar Probleme avec is_dir() et is_file [ par zhaar ] Bonjour,J'ai un repertoire avec quelques images en .jpg et des sous répertoires.Pour détecter un sous répertoire, j'utilise un is_dir() dans ma boucle Lister des fichiers [ par clive2k1 ] Salut! voilà j'ai choper qqpart un script qui permet de lister tout les fichiers d'un repertoire: $repertoire = '**nom/dossier**'; $dir = opendir($r pb de suppression de fichers [ par ludovicanceaux ] Salut à tous, j'ai un problème qui me prend la tête depuis hier, mais je ne sais pas comment m'en sortir là, enfin je n'arrive pas à supprimer des dos déplacer des fichiers et supprimer des dossiers [ par zut69 ] <td id="HB_Focus_Element" unselectab="" bac


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,265 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.