begin process at 2010 03 19 16:38:46
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

Problemen copy sur dédié


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problemen copy sur dédié

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ée 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...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,874 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales