Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/11/2010, 10h10   #1
Nouveau Membre du Club
 
Inscription : août 2009
Messages : 223
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 223
Points : 29
Points : 29
Par défaut probleme de copie de fichiers

Bonjour,

J'ai un petit problème de copie de fichiers d'un dossier à un autre sur un serveur.
J'utilise un formulaire pour upload des fichiers vers un serveur (ceci fonctionne). Ces fichiers arrivent dans un dossier temporaire. Je souhaiterai copier ces fichiers et les renvoyer vers un dossier créé au préalable afin que tout ceci soit bien plus propre.

Voici le code qui me pose problème dans mon fichier upload.php:

Code :
1
2
3
	   mkdir($save,0777);  // créé un répertoire qui dépend de la variable
		   echo ($save); // m'affiche correctement mon chemin 
		  copy($fichier, $save);
J'obtiens une erreur sur la ligne copy (ligne 52):

Warning: copy(home.png): failed to open stream: No such file or directory in /var/www/.../upload.php on line 52

En résumé il me dit que le répertoire ($save) dans lequel je veux copier le fichier n'existe pas...
Or ce répertoire $save est bien créé car je vérifie avec filezilla mais j'ai l'impression qu'il y a un autre soucis.

Quelqu'un aurait il une idée ?

Merci par avance
claire34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 10h24   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 464
Points : 8 464
ton home.png est dans le même dossier que ton code php ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 10h35   #3
Nouveau Membre du Club
 
Inscription : août 2009
Messages : 223
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 223
Points : 29
Points : 29
Bonjour,

pas du tout.

Mon home.png est une image présente sur mon pc que j'upload dans un dossier "temp" sur mon serveur (ceci fonctionne).
J'essaye de copier ce fichier home.png vers un dossier créé expressément pour lui à savoir $save.
claire34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 10h56   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 464
Points : 8 464
Citation:
Envoyé par claire34 Voir le message
Bonjour,

pas du tout.

Mon home.png est une image présente sur mon pc que j'upload dans un dossier "temp" sur mon serveur (ceci fonctionne).
J'essaye de copier ce fichier home.png vers un dossier créé expressément pour lui à savoir $save.
la il va le cherche dans le même dossier, met le path complet
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 11h04   #5
Nouveau Membre du Club
 
Inscription : août 2009
Messages : 223
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 223
Points : 29
Points : 29
J'ai testé avec le chemin complet:

test/reception

J'obtiens l'erreur:
Code :
Warning: copy(test/reception): failed to open stream: Is a directory in /var/www/.../upload.php on line 52
Il a un problème pour ouvrir ce dossier ...
Est ce du au CHMOD?
claire34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 11h11   #6
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 464
Points : 8 464
Citation:
Envoyé par claire34 Voir le message
J'ai testé avec le chemin complet:

test/reception

J'obtiens l'erreur:
Code :
Warning: copy(test/reception): failed to open stream: Is a directory in /var/www/.../upload.php on line 52
Il a un problème pour ouvrir ce dossier ...
Est ce du au CHMOD?
la tu copies le dossier test/reception, et ca veux dire que ton dossier test est dans le même dossier que ton code
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 11h18   #7
Nouveau Membre du Club
 
Inscription : août 2009
Messages : 223
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 223
Points : 29
Points : 29
Euh oui le dossier test dans le même dossier que mon code upload.php
Mais je ne comprend pas vraiment le problème ? Pourrais tu m'expliquer ce qu'il faut faire ???
Le dossier test ne peut pas être dans le même dossier que upload.php?
claire34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 11h31   #8
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 464
Points : 8 464
Citation:
Envoyé par claire34 Voir le message
Euh oui le dossier test dans le même dossier que mon code upload.php
Mais je ne comprend pas vraiment le problème ? Pourrais tu m'expliquer ce qu'il faut faire ???
Le dossier test ne peut pas être dans le même dossier que upload.php?
si mais la t'as juste un problème de path utilise realpath comme ca t'es fixé
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 11h53   #9
Nouveau Membre du Club
 
Inscription : août 2009
Messages : 223
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 223
Points : 29
Points : 29
Alors j'ai testé ceci:

Code :
copy(realpath($fichier), realpath($save));
Et j'obtiens toujours pareil:

copy(/var/www/.../test/reception): failed to open stream: Is a directory in /var/www/.../upload.php on line 53

En somme il ne l'arrive pas à l'ouvrir.
Je viens de remarquer quelque chose bizarre, lorsque mon dossier est créé:
Code :
1
2
 
 mkdir($save,0777);
Il ne s'affiche pas tout le temps automatiquement dans filezilla je dois faire:
1) clic droit sur le dossier "test"
2) permission de fichier
3) récursion dans les sous dossiers

Avec cette manipulation cela fonctionne (pour la création de dossier).

En résumé ne s'agit il pas d'un probleme de permission de fichiers ???
Car il trouve ce fichier mais n'arrive pas à l'ouvrir.
claire34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h58.


 
 
 
 
Partenaires

Hébergement Web