Gros problème d'upload d'image...encore un

cs_kenru Messages postés 16 Date d'inscription vendredi 8 juillet 2005 Statut Membre Dernière intervention 22 février 2006 - 18 févr. 2006 à 23:49
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 20 févr. 2006 à 16:17
Bonjour à tous, voilà j'ai un petit souci pour un upload d'image.

//Fonction d'upload
$nom_fichier = $_FILES['userfile']['name'];
$tmp_fichier = $_FILES['userfile']['tmp_name'];
$nom_destination = "$nom_fichier";
if($_FILES['userfile']['name'])
{
if(move_uploaded_file($tmp_fichier,$nom_destination))
{
echo "Le fichier $nom_fichier a été transféré.";
}
else
{
echo "ERREUR : $nom_fichier non transféré.";
}
}

Bien évidemment mon "form" est niquel.
En faîte voilà ce qu'il se passe. Après cette fonction j'appel MySQL avec une requête et j'entre dans ma base "$nom_fichier" de façon à avoir le nom de l'image téléchargé pour le rappeler ultérieurement.
Ce qui se passe c'est qu'il m'enregistre bien le nom de l'image dans la base mais me télécharge pas l'image dans mon dossier.
Ah oui avant que vous me posiez la question, la variable $nom_destination" ne comprend que le nom de l'image car ma page se trouve dans le répertoire où j'upload mon image (depuis peu les répertoire sont verrouillé sur apache et les pages d'upload doivent se trouver dans le même répertoire que l'image même en 777).
A mon avis il télécharge l'image mais la bloque dans le répéertoire temporaire...

Je galère depuis 2 jours alors si quelqu'un peut éclaier ma lanterne, ce serait génial, merci d'avance.
(il n'y a pas de sécurité exprès dans ma fonction, elle ne sera utilisé que par moi).

8 réponses

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
19 févr. 2006 à 11:43
Salut,

as tu un message d'erreur ? si tu n'en as pas, as tu un rapport d'erreur à E_ALL && E_STRICT

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)
0
thomvaill Messages postés 366 Date d'inscription mercredi 7 avril 2004 Statut Membre Dernière intervention 20 février 2007 2
19 févr. 2006 à 13:48
Et ton hébergeur gère les uploads au moins ?

Thomvaill
IRC : Thomas (irc.heliosnet.org:6667 #programmation)
0
cs_kenru Messages postés 16 Date d'inscription vendredi 8 juillet 2005 Statut Membre Dernière intervention 22 février 2006
19 févr. 2006 à 14:23
Bonjour à tous et merci de vos réponses. Non, je n'ai pas de message d'erreur et mon hebergeur est un ami, c'est un serveur apache avec toute les librairies compilées en php 5. (les fonctions d'upload y sont bien). Même en local ca fonctionne pas comme si mon image resté confinée dans le répertoire temporaire...
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
19 févr. 2006 à 15:23
Salut,

Enlève ça :
if($_FILES['userfile']['name'])

met plutôt

if(!empty($_FILES['userfile']['tmp_name']))
{

}

(j'ai mis un empty car un isset ne fonctionnait pas chez moi... bizarre)

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0

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

Posez votre question
cs_kenru Messages postés 16 Date d'inscription vendredi 8 juillet 2005 Statut Membre Dernière intervention 22 février 2006
19 févr. 2006 à 16:50
Merci de ta réponse je vais essayer, je te dis quoi.
0
cs_kenru Messages postés 16 Date d'inscription vendredi 8 juillet 2005 Statut Membre Dernière intervention 22 février 2006
19 févr. 2006 à 17:07
Malheureusement c'est toujours pas ça. C'est vraiment rageant car je sent que je suis pas loin de la vérité... S'il vous plait, aidez-moi à trouver j'ai déjà presque plus de cheveux sur la tête à force de me les arracher.
0
cs_kenru Messages postés 16 Date d'inscription vendredi 8 juillet 2005 Statut Membre Dernière intervention 22 février 2006
20 févr. 2006 à 00:18
Bon, bonne nouvelle, la fonction fonctionne c'est bon. J'ai du rajouter une fonction dans la fonction mais ca marche (basename)c'est le principal. Donc je vous la redonne pour ceux qui en auront besoin (attention cette fonction n'est pas sécurisée)..

//Fonction d'upload
$nom_fichier = $_FILES['userfile']['name'];
$tmp_fichier = $_FILES['userfile']['tmp_name'];
$nom_destination = basename($nom_fichier);
if(!empty($_FILES['userfile']['tmp_name']))
{
if(move_uploaded_file($tmp_fichier,$nom_destination))
{
echo "Le fichier $nom_fichier a été transféré.";
}
else
{
echo "ERREUR : $nom_fichier non transféré.";
}
}
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
20 févr. 2006 à 16:17
Salut,
alors accèpte ta réponse...

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)
0
Rejoignez-nous