[HTML/PHP] Problème d'upload de fichier

treder -  
 treder -
Bonjour,
Malgré tous mes efforts, je n'arrive pas à uploader un fichier de mon ordi sur mon ftp.

Voilà mon code :


Sur la page products_edit.php :

<form action="products_redirect.php" method="post">
.... Plein de champs ....
<input type="file" name="product_image" />
<input type="submit" value="OK" />
</form>

Sur la page products_redirect.php :

$error=false;
....Plein de vérifications....
if ($_FILES['product_image']['error'] == 0)
{
if ($_FILES['product_image']['size'] <= 1000000)
{
$extension_upload = strtolower( substr( strrchr($_FILES['product_image']['name'], '.') ,1) );
$auth_extensions = array('jpg', 'jpeg', 'gif', 'png');

if (in_array($extension_upload, $auth_extensions))
{
$image_msg = PRODUCT_IMAGE_SUCCESS;
} else {
$error = true;
$error_msg .= PRODUCT_IMAGE_ERROR_EXTENSION;
$error_msg .= '<br />';
}
} else {
$error = true;
$error_msg .= PRODUCT_IMAGE_ERROR_SIZE;
$error_msg .= '<br />';
}
} else {
$error = true;
$error_msg .= PRODUCT_IMAGE_ERROR;
$error_msg .= '<br />';
}

if ($error == true)
{
echo $error_msg;
}


Les variables en majuscules sont des variables que j'ai déclarées globalement, et ne sont pas à la base du problème, qui est ceci :

La variable $_FILES est vide (un var_dump me donne un array{0})

Si vous avez une idée de l'origine du problème, je vous remercie.
A voir également:

8 réponses

l'helpeur Messages postés 47 Statut Membre
 
Ton code m'as l'air d'etre bon... Mais je n'ai que très peu de connaissance en PHP donc je ne pourrait pas t'aider plus. Cependant, pour ton FTP, n'utilise pas de FTP perso. Si mal monté, trop de bug. Utilise plutot Filezilla (disponible a cette adresse : https://filezilla.fr/ ) qui est facile d'utilisation.
0
treder
 
J'utilise FileZilla.
En fait le formulaire doit permettre à quelqu'un d'uploader une image sur mon site, et je ne peux décemment pas donner le mot de passe de mon FTP à tout le monde ;)
0
l'helpeur Messages postés 47 Statut Membre
 
Un conseil ? Pour uploader tes images :

https://www.pixelz.fr/ (sans inscription)
http://servimg.com (avec inscription mais simple)
0
treder
 
J'ai pensé à cette solution, mais je souhaiterais ne l'utiliser qu'en dernier recours ;)

Merci quand même de ton aide et de ton temps.
0
l'helpeur Messages postés 47 Statut Membre
 
Il n'y as aucun probleme ! Si tu as un autre probleme, n'hesite pas a m'en parler !

Alfiero@live.Fr
0
treder
 
Merci, mais tout ça ne me dit pas ce qui cloche dans mon code.
Est-ce un problème sur les droits des fichiers ? J'ai pourtant passé le dossier tmp en '777'.
0
l'helpeur Messages postés 47 Statut Membre
 
si tu me rentre sur msn, je pourrait te mettre en contact avec une personne qui pourra corriger ton code si tu lui envoie les fichiers PHP. (si il n'est pas occupé)
0
treder
 
Je suis désolé, mais je n'ai pas le droit de divulguer le code de mes pages (politique de confidentialité de l'entreprise etc.)
J'ai demandé à mon parton si je pouvais mettre le bout de code qui clochait sur CommentCaMarche, et il m'en a donné l'autorisation, mais c'est tout.
Du coup, j'attendrai de voir si quelqu'un d'autre me propose une solution, via le forum.

Quoiqu'il en soit, merci beaucoup pour ta disponibilité et ton aide ;)
0

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

Posez votre question
l'helpeur Messages postés 47 Statut Membre
 
dans ce cas la, tu pourras lui apposer le code entreposé sur comment ça marche.
0
treder
 
D'accord, je viens de t'ajouter.

(Cela dit, si d'autres personnes ont une idée, n'hésitez pas :P)
0
arth Messages postés 10414 Statut Contributeur 1 293
 
En même temps il est bien beau ton code, mais elle est ou la fonction d'upload?
0
treder
 
Bah la fonction d'upload est inutile si la variable $_FILES est vide non ?
0
mattweb Messages postés 15 Statut Membre 2
 
Salut,

Pour ma gestion de dvd perso j'utilise l'upload pour les affiches des films et qui fonctionne parfaitement.
la variable $_FILES te sert pour passer énormément de paramètre.
Tu dis qu'il n'y a rien dans la variable, essaye ce code dans ta page
   		$tmp_file = $_FILES['ton_fichier']['tmp_name'];
		
		if (!is_uploaded_file($tmp_file) )
    	{
        	exit("Fichier introuvable");
    	}
		else 
       {
        	echo "La variable est remplie, tu peux continuer";
        }
0
treder
 
Bonjour,

Comme je le craignais, ça ne marche pas et ça m'indique "Fichier introuvable".
0