Aide - Recherche - Membres - Calendrier
Version complète : Pb d'upload d'image (php)
Forum Webmaster - Ton Webmaster > Conception de sites > Programmation
bobebe
Salut tout le monde,



Voila, j'ai un code php qui me permet d'uploader des images, pourtant lorsque je choisi l'image, et que je demande de l'uploader, j'ai cette erreur :



Warning: Unable to create 'photos/photo66.jpg': Permission denied in /home/site/site14/web/kit/admin.php on line 62



Warning: Unable to move '/tmp/phpuub6RU' to 'photos/photo66.jpg' in /home/site/site14/web/kit/admin.php on line 62



Et voici les lignes de code :



$rep_photo="photos/"



if ($photo_size>0) {

$savefile= $rep_photo."photo".$num_id_pour_photo;

if (move_uploaded_file($photo, $savefile)) { // La ligne 62

// enregistrement du nom de la photo dans la base de donnée.

$requete= "update vehicule set photo_vehicule = '$savefile' where num_vehicule = '$num_id_pour_photo'";

execute($requete);?>



Et je suis sur Claranet, y aurait il un probleme avec la fonction move_uploaded_file(). J'ai aussi essayé sur online et ça ne marche pas.



Merci pour vos réponses!!!!
epoc
upload

1)<html>

<head>

<title>Document sans titre</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>



<body>

<form action="upload2.php" method="post" enctype="multipart/form-data">



Fichier joint :

<input type="hidden" name="MAX_FILE_SIZE" value="10000">

<input type="file" name="fichier" Maxlength="80">

<input type="submit" value="Envoyer">

</form>

</body>

</html>

2)

<html>

<head>

<title>upload</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>



<body>

<?php

print "TMPNAME = ".$_FILES["fichier"][tmp_name]."<br>"; // Donne le nom temporaire sur le serveur du fichier.

print "TYPE = ".$_FILES["fichier"][type]."<br>"; // Donne le type mime du fichier.

print "SIZE = ".$_FILES["fichier"][size]."<br>"; // Donne le poids en octets du fichier.

print "NAME = ".$_FILES["fichier"][name]."<br>"; // Donne le nom original du fichier.



$repertoire = "../images/";

$destination = $repertoire.$_FILES["fichier"][name];



print "REPERTOIRE = $repertoire<br>";

print "DESTINATION = $destination<br>";



if (!move_uploaded_file($_FILES["fichier"][tmp_name], $destination)) {print "ERREUR: Impossible de déplacer le fichier: ". $_FILES["fichier"][tmp_name] ." vers $destination";}

?>

</body>

</html>



2)
KOOP
Salut, g peut etre la solution a ton probleme, en fait le probleme ne vient probablement pas de ton code mais des parametres de ton serveur.

Il faut que tu t'assure que le repertoire de destination possede les droits neccessaires pour l'action UPLOAD.

Pour cela, clique droit sur le dossier en question sur le serveur, selectionne "CHMOD", et a l'ouverture assure toi que toutes les checks boxs sont cochées.





Good luck.

KOOPA
lout
j'ai essayé de faire comme le script qu' epoc à noter mais je n'ai pas réussi à faire un update avec le bouton parcourir,

j'aurais aimé savoir si par l'intermédiare du serveur on pouvait avoir accés au fichier image et ainsi les ouvrir directement sans passer par un hebergeur.

et si on passait par un hebergeur comment faudrait-il faire pour pouvoir lancer le script car je n'y suis pas arrivé non plus? je suis sur l'herbergeur de free.

merci d'avance pour la personne qui me répondra
OliverH
Je viens de faire la même découverte avec les mêmes messages d'erreur mais j'ai regardé le manuel php qui m'a mis la puce à l'oreille: pour pouvoir uploader un fichier, il faut que le répertoire de destination soit ouvert en écriture pour tous: chmod 777 (tu peux le paramétrer avec un logiciel client ftp correct. :smile.gif

voilà ma page d'upload:

<body>

<FORM ENCTYPE="multipart/form-data" ACTION="post.php" METHOD="POST">

<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="1000">

Envoyez ce fichier : <INPUT NAME="userfile" TYPE="file">

<INPUT TYPE="submit" VALUE="Send File">

</FORM>

</body> :baille:

et voilà la page de réception en php



<?php

$uploaddir = '/home/chemin_complet/www/Envoie/';

print "<pre>";

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name']))

{ print "Le fichier est valide, et a été téléchargé

avec succès. Voici plus d'informations :n";

print_r($_FILES);

} else {

echo "Attaque par upload potentielle. Voici plus d'informations :n";

print_r($_FILES);

}

?>



Rappel: $uploaddir est ici mon répertoire complet because serveur dédié. Je n'ai pas essayé ailleurs.



Cordialement



[mail]olivier.heimerdinger@delphiplus.net[/mail]
jp451
le chmod 777 est imposible sur l'hébergeur free !
C\'est une version "bas débit" de notre forum. Pour voir la version complète avec plus d\'information, la mise en page et les images, veuillez cliquez ici.
Invision Power Board © 2001-2012 Invision Power Services, Inc.