Probleme avec la fonction copy sous Linux

Signaler
Messages postés
18
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
7 octobre 2008
-
 ARAKIS2 -
Bonjour, j'ai un prob avec la fonction copy qui ne copie pas une image dans un répertoire bien précise (sous Linux chez l hebergeur) alors ke cella marche bien avant en local (sous xp), il ya aussi la fonction is_dir() ke jai aussi teste chez l 'hebergeur et ki elle aussi ne fonctionne pas !!
sachant bien les images et les répertoire on bien etais modifier pour avoir le droit d'ecriture
voici le code :
<?
require("../scripts/secure.inc.php");
$fours=$_POST['fours'];


$image1=$_POST['image1'];
$siteweb1=$_POST['siteweb1'];
if (!is_dir("../imgs/$fours")) msg("Repertoire dont le droit d ecriture est interdit");


if(copy("$image1","../imgs/$fours/image1.jpg")) msg("Copy de la premiere image bien passe");


$image2=$_POST['image2'];
$siteweb2=$_POST['siteweb2'];
if(copy("$image2","../imgs/$fours/image2.jpg")) msg("Copy de la 2eme image bien passe");


$image3=$_POST['image3'];
$siteweb3=$_POST['siteweb3'];
if(copy("$image3","../imgs/$fours/image3.jpg"))  msg("Copy de la 3eme image bien passe");


$image4=$_POST['image4'];
$siteweb4=$_POST['siteweb4'];
copy("$image4","../imgs/$fours/image4.jpg");


$image5=$_POST['image5'];
$siteweb5=$_POST['siteweb5'];
copy("$image5","../imgs/$fours/image5.jpg");


$image6=$_POST['image6'];
$siteweb6=$_POST['siteweb6'];
copy("$image6","../imgs/$fours/image6.jpg");
....
?>
ghost101





ghost101

28 réponses

Messages postés
510
Date d'inscription
samedi 29 décembre 2001
Statut
Membre
Dernière intervention
23 mai 2008

Sakut,

Heu... c'est quoi ton hébergeur ? est tu sur qu'il accepte le php ?

----------------------
La lumière étant plus rapide que le son, un homme peu paraître brillant avant qu'il se mette a parler
-----------------
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Salut!
Es-tu sûr que le répertoire de destination a bien les droits en écriture?
if (!is_dir("../imgs/$fours")) msg("Repertoire dont le droit d ecriture est interdit");
>> Te dis juste que c'est un dir, mais pas qu'il a les droits suffisants... :)

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Lol, WhiteDarf, s'il acceptait pas le PHP il l'aurait remarqué ;-)

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
Messages postés
510
Date d'inscription
samedi 29 décembre 2001
Statut
Membre
Dernière intervention
23 mai 2008

On sait jamais ^^

----------------------
La lumière étant plus rapide que le son, un homme peu paraître brillant avant qu'il se mette a parler
-----------------
Messages postés
1406
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
28 août 2007
9
Salut,

tu utilises un adressage relatif...
peut-être serat-il utile de vérifier le point de départ de ton adressage via la fonction suivante :

getcwd -- Retourne le dossier de travail courant

Car honètement, je ne vois aucune raison pour que les chose ce passe mal sous linux.

A+
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
hello,

ouais, je vote aussi pour un problème de chemin. Soit du chemin de destination, soit du source (soit des deux).
Messages postés
18
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
7 octobre 2008

Bonjour tt le monde, et merci de vos reponses,
En réponse a ta question WhiteDwarf l'hebergeur choisi accepte biensur php.
Mais je ne sais pas encore d'ou vient l'erreur, si vous avez d'autres questions....
Merci d'avance
ghost101
Messages postés
18
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
7 octobre 2008

Je vous informe ke malgre le if mis pour avoir le message d'erreur rien ne s'affiche sur le serveur alors ke en local ca marche bien
ghost101
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Vérifie tes chemins!
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Hmm, si ca marche en local et pas sur le serveur je reste sur mon idée de droits... :D
Quels sont les droits de : ../imgs/$fours/ ?

D'ailleursm tente un
echo "../imgs/$fours/";
Pour vérifier que le chemin est bien ce qu'il devrait être!

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
Messages postés
18
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
7 octobre 2008

ok je vais testé ca Merci   

ghost101
Messages postés
18
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
7 octobre 2008

En effet echo "../imgs/$fours/";  affiche bien le repertoire desire peut tu me conseiller un autre anticote que // que j'ai deja essayer
merci

ghost101
Messages postés
1406
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
28 août 2007
9
Salut,

Donc si on reste sur les problèmes de droit d'accès :

Tu fais
if( !is_dir("../imgs/$fours/") ) exit( "Pas le droit..." );

peut-être faut-il mettre
if( !(is_dir("../imgs/$fours/") and is_writable("../imgs/$fours/")) ) exit( "Pas le droit..." );

Peut-être...
Messages postés
18
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
7 octobre 2008

les chemins de la source=C:\\Documents and .....\\image1.jpg et de la dest=../imgs/machines_neuves/image1.jpg
et ils sont correcte

ghost101
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Arf, tu pouvais pas le dire avant...?
Tu crois que ça va où, ton c:\\Document... , quand tu n'es pas en local, et donc que tu es sur le serveur de ton hébergeur...??
Messages postés
18
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
7 octobre 2008

oui en effet je suis sur le serveur de l'hebergeur kes tu me propose pour changer c:\\Documents and ....
 malalam
Merci
ghost101
Messages postés
1406
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
28 août 2007
9
Ah bah d'acccord !!!

J'étais loin de penser à ça... J'ai plus les bons réflexes.

Bon, alors pour résoudre ton problème, il faut que tu commences par lire ce chapitre de la doc PHP :

http://fr.php.net/manual/fr/features.file-upload.phpChapitre 38. Gestion des chargements de fichier

Là, tu comprendras qu'on ne peut faire un "copier/coller" de fichier aussi facilement entre un serveur et son client...

Bonne lecture.
A+
Messages postés
1406
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
28 août 2007
9
Messages postés
18
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
7 octobre 2008

Merci je vais le lire
a+

ghost101
Messages postés
18
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
7 octobre 2008

apres modification de la page d'uploade les images :


require("../scripts/secure.inc.php");
$fours=$_POST['fours'];


$uploaddir = "/home/pro/journaltextile/imgs/$fours/";
$uploadfile = $uploaddir . basename($_FILES['image1']['name']);
msg($uploadfile);
echo getcwd();
if (move_uploaded_file($_FILES['image1']['name'], $uploadfile))
   msg("Le fichier est valide, et a été téléchargé avec succès");


avec biensur des modif sur le fichier de form :
<form action="UploadPhoto2.php" method="post" enctype="multipart/form-data" name="addform">
mais ca ne marche pas ni en local  ni sur le serveur