Page 1 sur 1
Upload: nom du chemin ?
Posté : 20 août 2007, 09:06
par mosquitout
Bonjour,
Je récupère un fichier image via une zone 'FILE' dans un formulaire. J'aimerai enregistrer en table le nom complet du chemin ou se trouve cette image. En fait, je ne fait pas d'upload mais simplement j'associe 1 image à 1 fiche produit et mes images sont déjà stockées et répertoriées dans mes repertoires. C'est donc simplement l'association de l'url de l'image que j'aimerai faire.
Pb: je ne récupère que le nom du fichier (basename($_FILES['photo']['name'])), comment faire pour le chemin complet ?
Merci de votre aide
Posté : 20 août 2007, 09:53
par Genova
Ne pas utiliser basename()

?
Posté : 20 août 2007, 10:09
par zeus
Je ne vois pas comment tu comptes faire ton compte ...

Si tu utilises un <input type="file">, du moment où tu analyses les données en PHP, l'upload est déjà fait
De plus, en PHP, tu n'a pas le chemin du fichier sur le poste client mais le chemin dans le répertoire /tmp/ du serveur. Et si tu laisses l'image dans ce dossier, elle sera rapidement supprimée :-/
Donne nous plus de détails sur ce que tu veux faire s'il te plait

Posté : 20 août 2007, 10:11
par Invité
Merci Genova mais j'ai le même résultat avec ou sans basename !

Posté : 20 août 2007, 10:17
par mosquitout
Ok, il manque surement une info.
En fait, il s'agit de la partie 'admin' d'un site. Je veux pouvoir simplement associer 1 image à 1 fiche produit. J'ai mis tt mes images dans des répertoires adéquates et sur ma fiche produit j'ai mis une zone 'FILE' pour pouvoir aller chercher cette image et l'associer à ma fiche.
Ok pour aller la sélectionner à l'aide de cette zone mais c'est à la validation que je voudrais récupérer l'url complète pour la stocker en base et ainsi à l'affichage 'nouveau' de la fiche, si elle est renseignée bah j'affiche l'image.
C'est peut être plus clair maintenant

Posté : 20 août 2007, 10:30
par zeus
Alors 2 solutions :
1/ les images se trouvent sur le serveur et ta partie admin ne va fonctionner que sur le serveur

2/ les images se trouvent sur le client et tu es obligé de les uploader.
Sinon, via un input type file, tu ne récupères pas l'url de l'image sélectionnée, tu upload l'image et tu obtiens juste le nom de l'image originale et le chemin vers l'image uploadé

Posté : 20 août 2007, 10:39
par mosquitout
Oui, oui, les images se trouvent sur le serveur, je les mets manuellement au bon endroit, il me reste simplement à les associer. Y'a pas un moyen de récupérer le nom complet (chemin + nom de fichier)

Posté : 20 août 2007, 10:45
par zeus
pas via un input type file en tout cas ...
A part faire un explorateur de fichier toi même, ou de les associer à la main, je ne vois pas

Posté : 20 août 2007, 10:54
par mosquitout
Pourtant, après avoir sélectionné l'image souhaitée, j'ai bien l'adresse complète qui s'affiche dans ma zone 'FILE' !!!! c'est super frustrant de se dire que l'info est là, sous nos yeux mais qu'on peut pas la récupérer !!!!!!

Posté : 20 août 2007, 11:03
par dunbar
Pourtant, après avoir sélectionné l'image souhaitée, j'ai bien l'adresse complète qui s'affiche dans ma zone 'FILE' !!!! c'est super frustrant de se dire que l'info est là, sous nos yeux mais qu'on peut pas la récupérer !!!!!!

Oui mais c'est le chemin ou se trouve ton fichier pas le chemin ou il va aller

Posté : 20 août 2007, 11:20
par mosquitout
oui mais c'est bien de ce chemin dont j'ai besoin puisque l'image ne va pas bouger de place. C'est juste que je veux pouvoir via mon formulaire associer àma fiche produit uune image qui existe déjà et est bien repertoriée.
Je dois donc aller manuellement (via phpadmin) ds la bdd ajouter le lien !!???

Posté : 20 août 2007, 11:37
par zeus
Je te l'ai déjà dit plusieurs fois, mais je vois qu'il est nécessaire de le répéter.
Un input type file te permet de naviguer sur ton disque, de sélectionner un fichier.
Lorsque tu valides le formulaire, donc au niveau HTTP, le fichier est uploadé sur le serveur dans un répertoire temporaire.
Quand le PHP commence à s'exécuter, tu n'a plus l'adresse que tu voyais dans l'input, mais tu as un tableau qui contient le nom de l'image originale, le chemin vers le dossier temporaire puis quelques informations sur le fichier uploadé.
Ce serait une énorme faille de sécurité si le chemin sur le poste client donnait un chemin au serveur. Quelques personnes mal intentionnée n'aurait aucun mal à imaginer ton architecture

Posté : 20 août 2007, 11:41
par dunbar
oui mais c'est bien de ce chemin dont j'ai besoin puisque l'image ne va pas bouger de place. C'est juste que je veux pouvoir via mon formulaire associer àma fiche produit uune image qui existe déjà et est bien repertoriée.
Je dois donc aller manuellement (via phpadmin) ds la bdd ajouter le lien !!???

Je dirais que oui puisque tu ne fait aucun upload.
Posté : 20 août 2007, 11:47
par mosquitout
Ok c'est clair, merci à vous. je vais donc gérer manuellement ces images

Posté : 20 août 2007, 12:29
par Sékiltoyai
Si tu veux le récupérer toi même, tu dois passer par java ou flash (il m'étonnerait que javascript sache le faire…)