[Résolu de par moi-même][PHP] Récupérer l'url d'une image uploadée

Récupérer l'url d'une image uploadée [Résolu de par moi-même][PHP] - PHP - Programmation

Marsh Posté le 20-02-2008 à 11:50:58    

Salut :hello:  
 
Sur un site je permets à l'utilisateur d'uploader une image, et je voudrais sauvegarder l'url de cette image dans une table de bdd.
Le problème, c'est que j'arrive pas à récupérer l'url. Y aurait pas une fonction toute faite qui me file l'url d'un chemin relatif ?
L'url de l'image est du style : http://monsite/undossier/unautre/uploads/monimage.jpg
 
J'arrive à récupérer monsite, ou undossier/unautre/blabla.php, mais impossible de pondre une adresse complète et correcte.
 
Merci ! :hello:


Message édité par godbout le 22-02-2008 à 03:23:12
Reply

Marsh Posté le 20-02-2008 à 11:50:58   

Reply

Marsh Posté le 20-02-2008 à 12:21:08    

En concaténant les deux : $monsite.$monchemin avec :

  • $monsite = "http://monsite"
  • $monchemin = "/"."undossier/unautre/blabla.php"


---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
Reply

Marsh Posté le 20-02-2008 à 14:43:18    

Euh, ben non, quand même hein [:ocube]
 
Mais bon, apparemment si y a pas de fonction, va falloir que je prenne "undossier/unautre/blabla.php", que je vire le "blabla.php", et que j'ajoute le dossier de destination + le nom de la photo uploadée.

Reply

Marsh Posté le 20-02-2008 à 14:47:17    

Euh désolé, j'avais vraiment rien compris..... :pt1cable:  
 
Avec quelle méthode tu uploades ton image ?


---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
Reply

Marsh Posté le 20-02-2008 à 15:57:23    

m'enfin à l'upload c'est toi qui décides où tu la sauvegardes, ton image...comment tu peux ne pas savoir où elle est?[:pingouino]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 20-02-2008 à 17:36:32    

skeye a écrit :

m'enfin à l'upload c'est toi qui décides où tu la sauvegardes, ton image...comment tu peux ne pas savoir où elle est?[:pingouino]

 
comme dirait Perceval

Citation :

c'est pas faux

mais bon blague à part, je me pose la même question.
 
En même temps, chez moi, c'est pas parce que c'est moi qui range mes affaires, que je sais les retrouver... mais en prog je suis quand même un peu plus ordonné  :ange:  


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 20-02-2008 à 17:38:31    

Et hop, même lien que dans un autre topic il y a 20 secondes : http://fr3.php.net/manual/fr/features.file-upload.php

Message cité 1 fois
Message édité par skeye le 20-02-2008 à 17:38:42

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 21-02-2008 à 02:58:55    

skeye a écrit :

m'enfin à l'upload c'est toi qui décides où tu la sauvegardes, ton image...comment tu peux ne pas savoir où elle est?[:pingouino]


Nan mais quand même, y a vraiment des gens qui vous remercient quand vous donnez ce genre de solutions :??: :D
L'image, je la sauvegarde avec un chemin relatif, genre move_upload_file( 'upload/dtc.jpg', .... ) (oui je sais le nom et le prototype de la fonction est surement faux mais on s'en pète). Ce que j'veux stocker dans la base, c'est le chemin complet, comme ça j'exporte en excel direct et t'as pu qu'à cliquer sur le lien dans la cellule pour afficher l'image dans ton webrowser [:ocube]

 

J'suis juste un peu surpris qu'il n'y ait aucune fonction php qui fasse ça directe.

Message cité 1 fois
Message édité par godbout le 21-02-2008 à 02:59:36
Reply

Marsh Posté le 21-02-2008 à 03:02:18    

skeye a écrit :

Et hop, même lien que dans un autre topic il y a 20 secondes : http://fr3.php.net/manual/fr/features.file-upload.php


 :sleep:  
 
Je me suis évidemment servi de la doc pour savoir comment uploader le fichier, là n'est pas le problème. Mon fichier est bien uploadé, mais je n'ai que le chemin relatif, j'ai pas l'adresse complète.
 
C'est dingue que la plupart du temps les gens qui répondent prennent les autres pour des imbéciles, lisent même pas le topic, balancent une réponse de daube et se prennent pour les rois :D
 
Bon, j'dis ça mais je vais quand même relire la page complète, y a peut-être un truc qui m'a echappé  :whistle:

Reply

Marsh Posté le 21-02-2008 à 03:22:30    

babasss a écrit :

Euh désolé, j'avais vraiment rien compris..... :pt1cable:

 

Avec quelle méthode tu uploades ton image ?


Un move_uploaded_file tout con, en filant le chemin relatif d'où je veux mettre mon image.

 

PS: Rien de neuf sur la page de php.net, j'm'en serais douté :whistle:
Bon, merci quand même pour le coup de main.
J'vais me faire une fonction qui me fait ça et ce sera torché.


Message édité par godbout le 21-02-2008 à 03:23:26
Reply

Marsh Posté le 21-02-2008 à 03:22:30   

Reply

Marsh Posté le 21-02-2008 à 05:17:45    

Citation :


$scannedCopyAddress = 'http://' .$_SERVER['HTTP_HOST'] .dirname( $_SERVER['SCRIPT_NAME'] ) .'/' .$target .( $_FILES["scannedCopy"]["name"] );


 
Hop, torché.
Merci à tous pour la bonne tranche de rire de ce topic [:ocube]

Reply

Marsh Posté le 21-02-2008 à 07:17:47    

godbout a écrit :


Nan mais quand même, y a vraiment des gens qui vous remercient quand vous donnez ce genre de solutions :??: :D
L'image, je la sauvegarde avec un chemin relatif, genre move_upload_file( 'upload/dtc.jpg', .... ) (oui je sais le nom et le prototype de la fonction est surement faux mais on s'en pète). Ce que j'veux stocker dans la base, c'est le chemin complet, comme ça j'exporte en excel direct et t'as pu qu'à cliquer sur le lien dans la cellule pour afficher l'image dans ton webrowser [:ocube]
 
J'suis juste un peu surpris qu'il n'y ait aucune fonction php qui fasse ça directe.


 
Moi ce qui me surprends c'est que tu ne déplaces pas le fichier directement en concaténant le path de la racine web et son chemin relatif, si c'est ça le but derrière.
D'autant que c'est trivial.


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 21-02-2008 à 07:45:28    

C'était pas le but au début en fait, le but c'était de stocker l'image dans la base directement. Puis j'ai changé, et je cherchais juste une fonction qui pouvait me faire ça. Mais ça revient au même en fait, y a pas de fonction, faut juste concaténer des trucs et en enlever d'autres, pourquoi pas, mais si c'est si facile, pourquoi ils ont pas fait une fonction php toute faite ? :o
 
Mais bon, c'est torché, c'est le principal, merci pour vos commentaires [:super chinois]

Reply

Marsh Posté le 21-02-2008 à 07:56:32    

godbout a écrit :

C'était pas le but au début en fait, le but c'était de stocker l'image dans la base directement. Puis j'ai changé, et je cherchais juste une fonction qui pouvait me faire ça. Mais ça revient au même en fait, y a pas de fonction, faut juste concaténer des trucs et en enlever d'autres, pourquoi pas, mais si c'est si facile, pourquoi ils ont pas fait une fonction php toute faite ? :o
 


 
Parce-que c'est trivial, justement?:D
 

godbout a écrit :

Mais bon, c'est torché, c'est le principal, merci pour vos commentaires [:super chinois]



---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 21-02-2008 à 09:29:43    

skeye a écrit :


Parce-que c'est trivial, justement?:D


Bon, euh, ok :D

Reply

Marsh Posté le 21-02-2008 à 11:37:15    

Ben du coup, j'ai toujours pas compris la question moi (nan je le fait pas exprès, j'ai le cerveau-lent)...  :??:  
 
Tu connais le chemin relatif depuis ton script (puisque tu t'en sers pour le move_uploaded_file), PHP te file accès à des globales te donnant le chemin absolu jusqu'à ton script:
--> chemin_absolu_de_l'image = chemin_absolu_du_script + chemin_relatif_de_l'image
 
Je vois pas qu'elle fonction de PHP tu aurais voulu ???  
Un truc ou tu lui file un chemin relatif en entrée et il te détermine l'absolu en retour ???  
T'étais obligé de lui filer en paramètre ton chemin_relatif_image, et c'est lui qui faisait la concaténation à ta place ???
--> Cela revenait à une ligne de code pour appeler la fonction PHP, au lieu de la ligne de code que tu as fait tout seul avec la concaténation ???  
Je vois toujours pas l'intérêt (en même temps, malgré une douche, 1 pti dej, et 3 cafés depuis mon arrivée à la boite, j'ai toujours les yeux collés :/)
 
Enfin bref, ce qui compte c'est que ton problème soit réglé, (à la rigueur, un pti [Résolu] dans le titre ça peut être sympa aussi ;))


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 22-02-2008 à 03:27:16    

Oui mais non. En fait j'ai le chemin absolu jusqu'à mon script, mais faut que je bidouille pour enlever le nom du script. J'utilise la fonction dirname pour récupérer juste le dossier, mais en fait je sais même pas si ça marcherait correctement si j'avais 3 ou 4 dossiers qui se suivent :??:
Et j'ai pas envie de bidouiller la chaine de caractères pour virer le nom de mon script, ça pue toujours ce genre de solutions. Donc oui, je cherchais une fonction à laquelle tu donnes le chemin relatif, et il te file l'url en retour. J'crois encore au Père Noël c'est ça ? :D

 

edit: J'viens de tester avec plusieurs dossiers à la suite, ça marche correctement. Bon, la journée peut commencer [:ocube]


Message édité par godbout le 22-02-2008 à 03:30:31
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed