Pb upload php

ninho44 Messages postés 86 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 19 juin 2009 - 12 janv. 2009 à 13:42
 cs_bere27 - 18 févr. 2010 à 15:02
Bonjour,
voila j'ai un petit probleme pour uploader une image et c'est la 1ere fois que je fais ça...je suis un peu perdu.
EN fait, je ne vois pas pourquoi ça ne marche pas... Si quelqu'un peut m'aider...

Voici mon formulaire:
<form action= "upload.php" method="POST">
            <
       
</form>

ET mon code upload.php
<?php$poids_max 102400; // Poids max de l'image en octets (1Ko 1024 octets)
$repertoire = 'mon_répertoire'; // Repertoire d'upload

if (isset($_FILES['photo']))
{
// On vérifit le type du fichier
if ($_FILES['photo']['type'] != 'image/png' && $_FILES['photo']['type'] != 'image/jpeg' && $_FILES['photo']['type'] != 'image/jpg' && $_FILES['photo']['type'] != 'image/gif')
{
$erreur = 'Le fichier doit être au format *.jpeg, *.gif ou *.png .';
}
// On vérifit le poids de l'image
elseif ($_FILES['photo']['size'] > $poids_max)
{
$erreur = 'L\'image doit être inférieur à ' . $poids_max/1024 . 'Ko.';
}
// On vérifit si le répertoire d'upload existe
elseif (!file_exists($repertoire))
{
$erreur = 'Erreur, le dossier d\'upload n\'existe pas.';
}
// Si il y a une erreur on l'affiche sinon on peut uploader
if(isset($erreur))
{
echo '' . $erreur . '
[javascript:history.back(1) Retour]';
}
else
{
// On définit l'extention du fichier puis on le nomme par le timestamp actuel
if ($_FILES['photo']['type'] == 'image/jpeg') { $extention = '.jpeg'; }
if ($_FILES['photo']['type'] == 'image/jpeg') { $extention = '.jpg'; }
if ($_FILES['photo']['type'] == 'image/png') { $extention = '.png'; }
if ($_FILES['photo']['type'] == 'image/gif') { $extention = '.gif'; }
$nom_fichier = time().$extention;

// On upload le fichier sur le serveur.
if (move_uploaded_file($_FILES['photo']['tmp_name'], $repertoire.$nom_fichier))
{
$url = 'www.monsite.com/'.$repertoire.''.$nom_fichier.'';
echo 'Votre image à été uploadée sur le serveur avec succes!
Voici le lien: ';

}
else
{
echo 'L\'image n\'a pas pu être uploadée sur le serveur.';
}
}
}
else
{
}
?>

22 réponses

krolenain Messages postés 149 Date d'inscription lundi 7 février 2005 Statut Membre Dernière intervention 6 février 2009
12 janv. 2009 à 14:36
Salut, j'ai pas trop regardé le code, mais déjà le 'enctype' doit être mis dans la balise <form> et non
0
ninho44 Messages postés 86 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 19 juin 2009
12 janv. 2009 à 14:42
ok, j'ai modifié et toujours rien. Ce qui m'étonne en fait, c'est que meme si l'upload ne fonctionne pas, ça devrait me renvoyé un message  "echo 'L\'image n\'a pas pu être uploadée sur le serveur.';", mais la j'ai vraiment une page blanche...
0
krolenain Messages postés 149 Date d'inscription lundi 7 février 2005 Statut Membre Dernière intervention 6 février 2009
12 janv. 2009 à 14:51
fait un print_r($_FILES) en tete de ton upload.php, histoire de voir si le fichier est bien passé
0
ninho44 Messages postés 86 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 19 juin 2009
12 janv. 2009 à 14:55
ok, alors il m'a affiché:   Array()
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
krolenain Messages postés 149 Date d'inscription lundi 7 février 2005 Statut Membre Dernière intervention 6 février 2009
12 janv. 2009 à 15:02
ok, ca veut dire qu'il ne recoit pas ton fichier, hmm a tu bien fait la modif du enctype?
0
ninho44 Messages postés 86 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 19 juin 2009
12 janv. 2009 à 15:02
Ca affiche Array() quand j'essaye sur le net, mais a partir de easyphp ca m'affiche :
Array
(
[photo] => Array
(
[name] => GIF (232).gif
[type] => image/gif
[tmp_name] => C:/Program Files/EasyPHP1-8\tmp\php4B69.tmp
[error] => 0
[size] => 50332
)

)
0
ninho44 Messages postés 86 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 19 juin 2009
12 janv. 2009 à 15:03
oui oui jai changé le enctype de place
0
krolenain Messages postés 149 Date d'inscription lundi 7 février 2005 Statut Membre Dernière intervention 6 février 2009
12 janv. 2009 à 15:08
hmm je vois pas trop pourquoi ca marcherais en local et pas sur le net...
0
ninho44 Messages postés 86 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 19 juin 2009
12 janv. 2009 à 15:10
lol moi non plus...je comprend plus rien
0
krolenain Messages postés 149 Date d'inscription lundi 7 février 2005 Statut Membre Dernière intervention 6 février 2009
12 janv. 2009 à 15:16
ce qu'il faut se dire, c'est qu'il y a toujours une solution, google est ton ami
0
ninho44 Messages postés 86 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 19 juin 2009
12 janv. 2009 à 15:18
ouais, mais Google ne me donne plus de réponse satisfaisante depuis ce matin
0
kohntark Messages postés 3706 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
12 janv. 2009 à 20:50
Salut,

Etrange affaire, je ne vois pas non plus pourquoi ça ne fonctionnerait pas.

Tu es sous quel hébergeur ? Y a t il moyen d'avoir un exemple en ligne ?

Kohntark -
0
ninho44 Messages postés 86 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 19 juin 2009
12 janv. 2009 à 22:21
Euh non desolé on m'a interdit de divulguer le site pour le moment...
Cependant, j'ai tout expliqué au-dessus et ça représente bien mon probleme.
0
kohntark Messages postés 3706 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
13 janv. 2009 à 07:46
Oui, tu as tout expliqué correctement, mais vu que c'est correct ça aurait été bien de faire un test directement sur le serveur, voir les trames envoyées / reçues, etc ...

Si tu as accès au php.ini, regarde les valeurs liées à l'upload de fichiers, notamment :
file_uploads
upload_max_filesize

A part ça je ne vois pas.

Kohntark -
0
ninho44 Messages postés 86 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 19 juin 2009
13 janv. 2009 à 09:15
SAlut,
Je viens de regarder la configuration du php.ini et tout est bon ... Ca pourrait pas venir du FTP ??
0
ninho44 Messages postés 86 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 19 juin 2009
13 janv. 2009 à 10:08
Je crois avoir trouvé la source d'erreur...Cela viendrait peut etre du fait que quand j'ajoute une photo, ça fais comme si je n'avais rien ajouté.
Exemple:

Voici mon formulaire:
<form action="upload.php" method="POST" enctype="multipart/form-data">


</form>

Et ma page upload.php:(ou je fais le test voir si la photo est bien prise)
if(isset($_POST['upload']))
{
    print_r($_FILES);
}else{
echo 'aucun fichier trouvé';
};

Et devinez ce que ça m'affiche.... 'aucun fichier trouvé'.  Pourquoi?? Pourtant l'envoi et le formulaire sont bon non?
0
ninho44 Messages postés 86 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 19 juin 2009
13 janv. 2009 à 10:13
euh pardon, dans le fichier upload.php, a la condition du IF, c'est pas POST mais FILES
0
ninho44 Messages postés 86 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 19 juin 2009
13 janv. 2009 à 10:21
Bon ben en fait maintenant il reconnais bien l'image, mais l'upload ne marche pas...
0
kohntark Messages postés 3706 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
13 janv. 2009 à 19:17
"il reconnais bien l'image" ??? tu veux dire quoi ? que le print_r($_FILES); te retourne bien qq chose ?

Kohntark -
0
ninho44 Messages postés 86 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 19 juin 2009
13 janv. 2009 à 19:22
ouais voila c'est ça...mais c'est bon c'est réglé jai fais ma propre fonction et ca fonctionne

Merci de votre aide
0