Problème de joindre un fichier onligne [Résolu]

Signaler
Messages postés
97
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
28 mai 2010
-
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
-
Bonjour a tous,
j'ai un problème, j'ai deux fichier php pour faire un test de joindre un fihcier onligne voilà mes deux fichier:
le premièr :fichier.php

<html>
<head>
</head>




<!-- Le type d'encodage des données, enctype, DOIT être spécifié comme ce qui suit -->
<form enctype="multipart/form-data" action="upload.php" method="post">
  <!-- MAX_FILE_SIZE doit précéder le champs input de type file -->
 
  <!-- Le nom de l'élément input détermine le nom dans le tableau $_FILES --> 
  Envoyez ce fichier :
 
</form>




</html>


 le deuxième : upload.php
 <?php
// En PHP < 4.1.0, $HTTP_POST_FILES doit être utilisé
//    à la place de $_FILES.



$uploaddir = 'C:\dossier\EasyPHP1-8\www\cv00';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);



echo '';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile))
{
    echo "Le fichier est valide, et a été téléchargé
           avec succès. Voici plus d'informations :\n";
} else {
    echo "Attaque potentielle par téléchargement de fichiers.
          Voici plus d'informations :\n";
}



echo 'Voici quelques informations de débogage :';
print_r($_FILES);



echo '

';



?>

et lorsque je suis en ligne et je clique sur envoyer fichier il m'affiche cette erreur :

Warning:  move_uploaded_file(C:\dossier\EasyPHP1-8\www\cv00cv12.doc) [function.move-uploaded-file]: failed to open stream: Permission denied in /home/httpd/vhosts/monsite.com/httpdocs/upload.php on line 9

Warning:  move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpAjXESa' to 'C:\dossier\EasyPHP1-8\www\cv00cv12.doc' in /home/httpd/vhosts/monsite.com/httpdocs/upload.php on line 9

Attaque potentielle par téléchargement de fichiers.

pourtant ce code marche trés bien en local, je ne sais pas en ligne ça marche pas

J'espère que quelqu'un à une idée sur mon problème Merci a tous

22 réponses

Messages postés
97
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
28 mai 2010

resalut,
Bon j'ai résolu mon problème toute seule et bien sur en suivant vos conseils pertinente, merci a vous tous et désolée si j'étais pas assez claire dans mes questions mais on apprend petit à petit
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
17
Salut,

RTFM et lis le message d'erreur.

"failed to open stream: Permission denied"

Il faut que php ait les droits d'écriture sur le dossier où tu veux déplacer le fichier uploadé.
=> chmod
Change les permissions avec ton client FTP.
Messages postés
97
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
28 mai 2010

ok et comment je peux changer les permissions? je suis débutante en php
Merci
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
17
Re,

"Change les permissions avec ton client FTP."
Clique droit sur le répertoire, et tu coches ce qu'il faut.
Je peux pas te dire quelles permissions mettre exactement, parce que ça dépend de la configuration de ton serveur, selon que SuExec est activé ou pas, ce genre de truc.
Bref... Tu peux essayer 777, c'est un peu violent, mais ça doit forcément passer.
Sinon, je ne doute pas une seconde que ton hébergeur mette une faq à ta disposition où te réponde si tu lui poses la question.
Messages postés
385
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
21 août 2015
4
salut:
====

le prob vient de :
$uploaddir = 'C:\dossier\EasyPHP1-8\www\cv00';

php est héberger sous un OS linux ......
c:\ ça existe sous linux !!!!

------------
$uploaddir ='cv00' et avant tout tu doit créer le répertoire 'cv00'
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
17
"php est héberger sous un OS linux ......"
C'est une vérité absolue ça ?
Parce que je peux t'assurer que l'on peut héberger PHP sur un serveur Windows, et je ne parle pas de easyphp sur son pc en local, mais bel et bien d'un hébergement professionnel...

Cela dit, j'avais pas fait gaffe qu'effectivement le chemin du répertoire de destination est un chemin windows et que donc, ça plante dans la mesure où TON hébergeur est sous un système de type Unix.
Messages postés
1406
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
28 août 2007
7
Bonjour,

Vous avez tous raison : RTFM ...et... LIS(ez) LES MESSAGES D'ERREUR !!!!!!!!!!!!!!!!!!!!

$uploaddir = 'C:\dossier\EasyPHP1-8\www\cv00';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

echo $uploaddir; // => C:\dossier\EasyPHP1-8\www\cv00

echo $uploadfile; // => C:\dossier\EasyPHP1-8\www\cv00cv12.doc
Messages postés
97
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
28 mai 2010

j'ai créer un dossier cv sur l'hebergeur et j'ai donnée les permission 777 sur ce dossier mon chemin est le suivant :
$uploaddir = 'C:\dossier\EasyPHP1-8\www\dossier\cv';
jai un hebergeur filezilla
mais il m'affiche tjrs la meme erreur :
Warning:  move_uploaded_file(C:\dossier\EasyPHP1-8\www\dossier\cvcv12.doc) [function.move-uploaded-file]: failed to open stream: Permission denied in /home/httpd/vhosts/monsite.com/httpdocs/upload.php on line 9

Warning:  move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpw3ZvsZ' to 'C:\dossier\EasyPHP1-8\www\dossier\cvcv12.doc' in /home/httpd/vhosts/monsite.com/httpdocs/upload.php on line 9

qu'est ce qu'il faut faire?
Messages postés
97
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
28 mai 2010

sachant que je suis sur windows XP proffesionnel
Messages postés
385
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
21 août 2015
4
le site est héberger sous ton pc, ou bien chez un autre hebergeur ?
Messages postés
97
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
28 mai 2010

sur mon pc j'ai installé filezilla et j'heberge sur mon pc
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
17
"Permission denied in /home/httpd/vhosts/monsite.com/httpdocs/upload.php on line 9"
Ca, c'est pas un système de fichier NTFS...

Conclusion :
$uploaddir = 'C:\dossier\EasyPHP1-8\www\dossier\cv';

Il faut que tu spécifies un chemin valide pour un système Unix.Soit relatif, soit absolu.
Exemple de chemin relatif : ../../repertoire/machin/
Exemple de chemin absolu : /home/httpd/vhosts/monsite.com/httpdocs/repertoire/machin/

May the force be with you
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
17
"sur mon pc j'ai installé filezilla et j'heberge sur mon pc"
Arrête de dire n'importe quoi :
"pourtant ce code marche trés bien en local, je ne sais pas en ligne ça marche pas"

Faudrait savoir...
Messages postés
1406
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
28 août 2007
7
Ouai... on se clame.

Il faut avouer, machmacha, que tu ne comprends pas grand chose au fonctionnement d'un ordinateur. Peut-être devrais-tu reprendre à la base les questions de "système de fichier" avant même de faire du PHP.
Messages postés
385
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
21 août 2015
4
dans tous les cas

$uploaddir = 'cv00';
-------------------------
et le dossier cv00 doit exister avant.
Messages postés
97
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
28 mai 2010

Bon, j'ai testé vos proposition et j'ai mis le chemins absolu est ça marche toujours pas, voilà le chemin que j'ai fais:
$uploaddir = '/home/httpd/vhosts/monsite.com/httpdocs/cv';
 l'erreur:
Warning:  move_uploaded_file(/home/httpd/vhosts/monsite.com/httpdocs/cvcv12.doc) [function.move-uploaded-file]: failed to open stream: Permission denied in /home/httpd/vhosts/jobkoncept.com/httpdocs/upload.php on line 9

Warning:  move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpMNkf4H' to '/home/httpd/vhosts/monsite.com/httpdocs/cvcv12.doc' in /home/httpd/vhosts/monsite.com/httpdocs/upload.php on line 9

merci pour vos conseils mais j'ai besoin de résoudre mon problème pour que je puisse avancer sur mon projet
Messages postés
385
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
21 août 2015
4
euuh oublie ton projet donc,
Messages postés
1406
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
28 août 2007
7
Aveugle ?

move_uploaded_file(/home/httpd/vhosts/monsite.com/httpdocs/cvcv12.doc)
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
Salut,

... depuis quelques annees de phpcs, j'ai jamais vu ca...

je ne vais pas chercher a t'aider tout de suite pour ton probleme... je vais commencer par chercher a poser les bonnes questions...

as tu un hebergeur ? si oui, lequel ? cet hebergeur est-il sous linux ou windows ? le chemin /home/.... existe t'il chez lui ? idem pour le chemin le chemin C:>\

enfin /home/... c'est pas un chemin relatif mais absolu...

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
Messages postés
97
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
28 mai 2010

je vous ai dis je suis débutante en php et en hebergement alors calmez vous,
pour vous répondre a tes question:
oui j'ai hebergeur (bien sur puisque mon problème en relation avec ça ) le nom de mon hebergeur c'est kreativmedia c'est un VPS « Virtual Private Server » cet hebergeur est sous linux je ne sais pas est ce qu'il comporte le chemin /home/... meme chose pour ce chemin ...