Copier un fichier en PHP sur serveur linux

[Résolu/Fermé]
Signaler
-
 Xeis -
Bonjour,

Je voudrais faire la copie d'un fichier txt qui ce trouve dans un répertoire différent de mon fichier php et le copier dans un autre répertoire aussi différent de mon fichier php

j'ai utliser ceci :

$file="Mon_Dossier/Mon_Fichier.txt";
$newfile="/Mes/Dossier/Fichier_Copier.txt";

if (!copy($file, $newfile)) {
echo "La copie du fichier $file a echoue...<br />";

Quand je lance mon programme il m'affiche "La copie du fichier Mon_Dossier/Mon_Fichier.txt a echoue,

Le problème c'est surement que j'utilise au début un chemin relatif et en second un chemin absolue, je ne sais pas si cette manip est possible.

Merci de vos réponses,

3 réponses

Bonjour

Tu as parfaitement le droit d'utiliser les chemins relatifs et absolus à ta guise, ce n'est pas le problème.
Le problème, c'est qu'il faut que ces chemins soient corrects.
En particulier, le dossier /Mes/ est-il bien à la racine de ton disque (à ne pas confondre avec la racine de ton site) ?
Si c'est ça le problème, ça marchera sûrement mieux avec
$newfile=$_SERVER['DOCUMENT_ROOT']."/Mes/Dossier/Fichier_Copier.txt"; 
Mon dossier /Mes est bien a la racine de mon disque dur et non du site,
Que signifie déjà $_SERVER['DOCUMENT_ROOT']
C'est pour ce spécifier a la racine du disque si je me souvien bien ?
Merci de ta réponse.

Voici pour la signification de $_SERVER['DOCUMENT_ROOT']
En pratique, ça te donne le chemin absolu (dans le système de fichiers du serveur) de la racine de ton site.

As-tu vérifié avec is_dir() que les deux dossiers "Mon_Dossier" et "/Mes/Dossier" étaient bien accessibles ?
Ensuite, il restera à tester que tu as bien les droits d'écriture dans le répertoire de destination.
Finalement, je n'ai pas les droit suffisant pour lire le fichier je n'arrive donc pas a le copier,

Je vais clôturer le sujet.

Merci de ton aide,