OK, merci bien pour l'URL, maintenant ça me donne : Upload: Marie.png Type: image/png Size: 735.4677734375 kB Stored in: /private/var/tmp/phpfcAocQ
MAIS, si je regarde au terminal : .-[:~]-[08:11:32]
'->$ lal /private/var/tmp/phpfcAocQ ls: /private/var/tmp/phpfcAocQ: No such file or directory
.-[:~]-[21:13:09]
'->$ lal /private/var/tmp/php* fish: No matches for wildcard '/private/var/tmp/php*'. lal /private/var/tmp/php* ^
le fichier '/private/var/tmp/phpfcAocQ' n'existe donc pas...
Olivier Miakinen
Bonjour,
Le 06/09/2014 08:44, Une Bévue a écrit :
Avec le code suivant : [...] echo '<form id="file_upload_form" method="get" enctype="multipart/form-data" action="choose_file.php"> <input name="file" id="file" size="27" type="file" /><br /> [...]
je ne reçois QUE le nom du fichier choisi (par exemple 'exemple.png') et non pas le path entier ('/path/to/mon_fichier.png').
comment faire pour obtenir ce path ?
Pour des raisons de sécurité, je comprendrais que la machine du client ne fournisse pas du tout ce path, et d'ailleurs que le nom du fichier fourni puisse lui-même être n'importe quoi.
D'ailleurs, à en croire le RFC qui définit le multipart/form-data, ce nom *PEUT* être fourni (MAY) mais ce n'est même pas un SHOULD, encore moins un MUST : <http://tools.ietf.org/html/rfc2388#section-4.4>.
Par curiosité, que comptais-tu faire de cette info, alors qu'en tant que serveur tu n'as évidemment pas accès à la machine du client ? Je n'ose pas imagine que tu cherches à pirater les machines de tes visiteurs, quand même !
Cordialement, -- Olivier Miakinen
Bonjour,
Le 06/09/2014 08:44, Une Bévue a écrit :
Avec le code suivant :
[...]
echo '<form id="file_upload_form" method="get"
enctype="multipart/form-data" action="choose_file.php">
<input name="file" id="file" size="27" type="file" /><br />
[...]
je ne reçois QUE le nom du fichier choisi (par exemple 'exemple.png') et
non pas le path entier ('/path/to/mon_fichier.png').
comment faire pour obtenir ce path ?
Pour des raisons de sécurité, je comprendrais que la machine du client
ne fournisse pas du tout ce path, et d'ailleurs que le nom du fichier
fourni puisse lui-même être n'importe quoi.
D'ailleurs, à en croire le RFC qui définit le multipart/form-data, ce
nom *PEUT* être fourni (MAY) mais ce n'est même pas un SHOULD, encore
moins un MUST : <http://tools.ietf.org/html/rfc2388#section-4.4>.
Par curiosité, que comptais-tu faire de cette info, alors qu'en tant
que serveur tu n'as évidemment pas accès à la machine du client ? Je
n'ose pas imagine que tu cherches à pirater les machines de tes
visiteurs, quand même !
Avec le code suivant : [...] echo '<form id="file_upload_form" method="get" enctype="multipart/form-data" action="choose_file.php"> <input name="file" id="file" size="27" type="file" /><br /> [...]
je ne reçois QUE le nom du fichier choisi (par exemple 'exemple.png') et non pas le path entier ('/path/to/mon_fichier.png').
comment faire pour obtenir ce path ?
Pour des raisons de sécurité, je comprendrais que la machine du client ne fournisse pas du tout ce path, et d'ailleurs que le nom du fichier fourni puisse lui-même être n'importe quoi.
D'ailleurs, à en croire le RFC qui définit le multipart/form-data, ce nom *PEUT* être fourni (MAY) mais ce n'est même pas un SHOULD, encore moins un MUST : <http://tools.ietf.org/html/rfc2388#section-4.4>.
Par curiosité, que comptais-tu faire de cette info, alors qu'en tant que serveur tu n'as évidemment pas accès à la machine du client ? Je n'ose pas imagine que tu cherches à pirater les machines de tes visiteurs, quand même !
Cordialement, -- Olivier Miakinen
Une Bévue
Le 07/09/14 01:27, Olivier Miakinen a écrit :
Par curiosité, que comptais-tu faire de cette info, alors qu'en tant que serveur tu n'as évidemment pas accès à la machine du client ? Je n'ose pas imagine que tu cherches à pirater les machines de tes visiteurs, quand même !
ben non, le serveur est sur mon portable (Apache 2) et je souhaite cataloguer les photos de mon répertoire '/Volumes/SSD2/Users/yt/Pictures/Nikon Transfer 2'. Dans ce répertoire les photos sont ordonnées par date, je souhaite construire une base de recherche sur le contenu de la photo.
Donc, l'utilisateur (ie "moi") choisi une photo (ou un dossier) et pour chaque photo il attribue des infos telles que Jules, Gertrude, Hautes-Pyrénées etc...
Je ne veux pas faire d'upload vu que les photos sont au bon endroit.
Le 07/09/14 01:27, Olivier Miakinen a écrit :
Par curiosité, que comptais-tu faire de cette info, alors qu'en tant
que serveur tu n'as évidemment pas accès à la machine du client ? Je
n'ose pas imagine que tu cherches à pirater les machines de tes
visiteurs, quand même !
ben non, le serveur est sur mon portable (Apache 2) et je souhaite
cataloguer les photos de mon répertoire
'/Volumes/SSD2/Users/yt/Pictures/Nikon Transfer 2'.
Dans ce répertoire les photos sont ordonnées par date, je souhaite
construire une base de recherche sur le contenu de la photo.
Donc, l'utilisateur (ie "moi") choisi une photo (ou un dossier) et pour
chaque photo il attribue des infos telles que Jules, Gertrude,
Hautes-Pyrénées etc...
Je ne veux pas faire d'upload vu que les photos sont au bon endroit.
Par curiosité, que comptais-tu faire de cette info, alors qu'en tant que serveur tu n'as évidemment pas accès à la machine du client ? Je n'ose pas imagine que tu cherches à pirater les machines de tes visiteurs, quand même !
ben non, le serveur est sur mon portable (Apache 2) et je souhaite cataloguer les photos de mon répertoire '/Volumes/SSD2/Users/yt/Pictures/Nikon Transfer 2'. Dans ce répertoire les photos sont ordonnées par date, je souhaite construire une base de recherche sur le contenu de la photo.
Donc, l'utilisateur (ie "moi") choisi une photo (ou un dossier) et pour chaque photo il attribue des infos telles que Jules, Gertrude, Hautes-Pyrénées etc...
Je ne veux pas faire d'upload vu que les photos sont au bon endroit.
Doug713705
Le 07-09-2014, Une Bévue nous expliquait dans fr.comp.lang.php (<lugnsh$dkb$) :
Le 07/09/14 01:27, Olivier Miakinen a écrit :
Par curiosité, que comptais-tu faire de cette info, alors qu'en tant que serveur tu n'as évidemment pas accès à la machine du client ? Je n'ose pas imagine que tu cherches à pirater les machines de tes visiteurs, quand même !
ben non, le serveur est sur mon portable (Apache 2) et je souhaite cataloguer les photos de mon répertoire '/Volumes/SSD2/Users/yt/Pictures/Nikon Transfer 2'. Dans ce répertoire les photos sont ordonnées par date, je souhaite construire une base de recherche sur le contenu de la photo.
Donc, l'utilisateur (ie "moi") choisi une photo (ou un dossier) et pour chaque photo il attribue des infos telles que Jules, Gertrude, Hautes-Pyrénées etc...
Je ne veux pas faire d'upload vu que les photos sont au bon endroit.
Le serveur n'a aucun moyen de connaitre l'emplacement du fichier coté client et c'est heureux ainsi.
Si ton but est d'associer des mots clefs à des photos stockées _localement_ au client, ce n'est pas la bonne méthode.
Je ne suis pas féru de ce genre de logiciels mais il doit bien exister des dizaines de logiciels de gestion de bibliothèques de photos.
Digikam, Darktable, Kphotoalbum, pour en citer trois, font ça et même plus.
-- Et tu me dis "Reviens je suis ton jour de fête. Reviens jouir mon amour dans ma bouche-agonie. -- H.F. Thiéfaine, Loreleï Sebasto Cha
Le 07-09-2014, Une Bévue nous expliquait dans
fr.comp.lang.php
(<lugnsh$dkb$1@shakotay.alphanet.ch>) :
Le 07/09/14 01:27, Olivier Miakinen a écrit :
Par curiosité, que comptais-tu faire de cette info, alors qu'en tant
que serveur tu n'as évidemment pas accès à la machine du client ? Je
n'ose pas imagine que tu cherches à pirater les machines de tes
visiteurs, quand même !
ben non, le serveur est sur mon portable (Apache 2) et je souhaite
cataloguer les photos de mon répertoire
'/Volumes/SSD2/Users/yt/Pictures/Nikon Transfer 2'.
Dans ce répertoire les photos sont ordonnées par date, je souhaite
construire une base de recherche sur le contenu de la photo.
Donc, l'utilisateur (ie "moi") choisi une photo (ou un dossier) et pour
chaque photo il attribue des infos telles que Jules, Gertrude,
Hautes-Pyrénées etc...
Je ne veux pas faire d'upload vu que les photos sont au bon endroit.
Le serveur n'a aucun moyen de connaitre l'emplacement du fichier coté
client et c'est heureux ainsi.
Si ton but est d'associer des mots clefs à des photos stockées
_localement_ au client, ce n'est pas la bonne méthode.
Je ne suis pas féru de ce genre de logiciels mais il doit bien exister
des dizaines de logiciels de gestion de bibliothèques de photos.
Digikam, Darktable, Kphotoalbum, pour en citer trois, font ça et même
plus.
--
Et tu me dis "Reviens je suis ton jour de fête.
Reviens jouir mon amour dans ma bouche-agonie.
-- H.F. Thiéfaine, Loreleï Sebasto Cha
Le 07-09-2014, Une Bévue nous expliquait dans fr.comp.lang.php (<lugnsh$dkb$) :
Le 07/09/14 01:27, Olivier Miakinen a écrit :
Par curiosité, que comptais-tu faire de cette info, alors qu'en tant que serveur tu n'as évidemment pas accès à la machine du client ? Je n'ose pas imagine que tu cherches à pirater les machines de tes visiteurs, quand même !
ben non, le serveur est sur mon portable (Apache 2) et je souhaite cataloguer les photos de mon répertoire '/Volumes/SSD2/Users/yt/Pictures/Nikon Transfer 2'. Dans ce répertoire les photos sont ordonnées par date, je souhaite construire une base de recherche sur le contenu de la photo.
Donc, l'utilisateur (ie "moi") choisi une photo (ou un dossier) et pour chaque photo il attribue des infos telles que Jules, Gertrude, Hautes-Pyrénées etc...
Je ne veux pas faire d'upload vu que les photos sont au bon endroit.
Le serveur n'a aucun moyen de connaitre l'emplacement du fichier coté client et c'est heureux ainsi.
Si ton but est d'associer des mots clefs à des photos stockées _localement_ au client, ce n'est pas la bonne méthode.
Je ne suis pas féru de ce genre de logiciels mais il doit bien exister des dizaines de logiciels de gestion de bibliothèques de photos.
Digikam, Darktable, Kphotoalbum, pour en citer trois, font ça et même plus.
-- Et tu me dis "Reviens je suis ton jour de fête. Reviens jouir mon amour dans ma bouche-agonie. -- H.F. Thiéfaine, Loreleï Sebasto Cha
Une Bévue
Le 06/09/14 21:15, Une Bévue a écrit :
MAIS, si je regarde au terminal : .-[:~]-[08:11:32]
'->$ lal /private/var/tmp/phpfcAocQ ls: /private/var/tmp/phpfcAocQ: No such file or directory
.-[:~]-[21:13:09]
'->$ lal /private/var/tmp/php* fish: No matches for wildcard '/private/var/tmp/php*'. lal /private/var/tmp/php* ^
le fichier '/private/var/tmp/phpfcAocQ' n'existe donc pas...
donc $_FILES["file"]["tmp_name"] ne donne que le path du fichier temporaire...
Le 06/09/14 21:15, Une Bévue a écrit :
MAIS, si je regarde au terminal :
.-[yt@d620.local:~]-[08:11:32]
'->$ lal /private/var/tmp/phpfcAocQ
ls: /private/var/tmp/phpfcAocQ: No such file or directory
.-[yt@d620.local:~]-[21:13:09]
'->$ lal /private/var/tmp/php*
fish: No matches for wildcard '/private/var/tmp/php*'.
lal /private/var/tmp/php*
^
le fichier '/private/var/tmp/phpfcAocQ' n'existe donc pas...
Bon, pigé, la page :
<http://www.w3schools.com/php/php_file_upload.asp>
dit expressément :
"The temporary copied files disappears when the script ends."
donc $_FILES["file"]["tmp_name"] ne donne que le path du fichier
temporaire...
Le serveur n'a aucun moyen de connaitre l'emplacement du fichier coté client et c'est heureux ainsi.
Oui, bien sûr, mais je suis dans un cas particulier où client et serveur sont sur la même bécanne.
Si ton but est d'associer des mots clefs à des photos stockées _localement_ au client, ce n'est pas la bonne méthode.
OK, mais c'est quoi la bonne méthode ?
Je ne suis pas féru de ce genre de logiciels mais il doit bien exister des dizaines de logiciels de gestion de bibliothèques de photos.
Digikam, Darktable, Kphotoalbum, pour en citer trois, font ça et même plus.
je vais regarder ça derechef.
merci beaucoup pour ces infos.
Doug713705
Le 07-09-2014, Une Bévue nous expliquait dans fr.comp.lang.php (<luh113$u3m$) :
Le 07/09/14 07:58, Doug713705 a écrit :
Le serveur n'a aucun moyen de connaitre l'emplacement du fichier coté client et c'est heureux ainsi.
Oui, bien sûr, mais je suis dans un cas particulier où client et serveur sont sur la même bécanne.
Si ton but est d'associer des mots clefs à des photos stockées _localement_ au client, ce n'est pas la bonne méthode.
OK, mais c'est quoi la bonne méthode ?
Il n'y a pas vraiment de bonne ou mauvaise méthode, chacune ayant ses avantages et inconvénients.
Tu peux très bien utiliser ta méthode mais cela va nécessairement t'obliger à : - Soit associer un mot clef au nom seul de l'image (sans le path complet), ce qui en limitera probablement l'intérêt surtout si les noms de fichiers sont du style IMG_000.JPG. - Soit uploader le fichier pour le restocker dans un autre endroit accessible par ton script (BDD, ou système de fichiers).
-- Dans le dernier écho de ton dernier silence J'ai gardé pour la route ma rage, ma haine, et ma connerie -- H.F. Thiéfaine, Redescente climatisée
Le 07-09-2014, Une Bévue nous expliquait dans
fr.comp.lang.php
(<luh113$u3m$2@shakotay.alphanet.ch>) :
Le 07/09/14 07:58, Doug713705 a écrit :
Le serveur n'a aucun moyen de connaitre l'emplacement du fichier coté
client et c'est heureux ainsi.
Oui, bien sûr, mais je suis dans un cas particulier où client et serveur
sont sur la même bécanne.
Si ton but est d'associer des mots clefs à des photos stockées
_localement_ au client, ce n'est pas la bonne méthode.
OK, mais c'est quoi la bonne méthode ?
Il n'y a pas vraiment de bonne ou mauvaise méthode, chacune ayant ses
avantages et inconvénients.
Tu peux très bien utiliser ta méthode mais cela va nécessairement
t'obliger à :
- Soit associer un mot clef au nom seul de l'image (sans le path
complet), ce qui en limitera probablement l'intérêt surtout si les noms
de fichiers sont du style IMG_000.JPG.
- Soit uploader le fichier pour le restocker dans un autre endroit
accessible par ton script (BDD, ou système de fichiers).
--
Dans le dernier écho de ton dernier silence
J'ai gardé pour la route ma rage, ma haine, et ma connerie
-- H.F. Thiéfaine, Redescente climatisée
Le 07-09-2014, Une Bévue nous expliquait dans fr.comp.lang.php (<luh113$u3m$) :
Le 07/09/14 07:58, Doug713705 a écrit :
Le serveur n'a aucun moyen de connaitre l'emplacement du fichier coté client et c'est heureux ainsi.
Oui, bien sûr, mais je suis dans un cas particulier où client et serveur sont sur la même bécanne.
Si ton but est d'associer des mots clefs à des photos stockées _localement_ au client, ce n'est pas la bonne méthode.
OK, mais c'est quoi la bonne méthode ?
Il n'y a pas vraiment de bonne ou mauvaise méthode, chacune ayant ses avantages et inconvénients.
Tu peux très bien utiliser ta méthode mais cela va nécessairement t'obliger à : - Soit associer un mot clef au nom seul de l'image (sans le path complet), ce qui en limitera probablement l'intérêt surtout si les noms de fichiers sont du style IMG_000.JPG. - Soit uploader le fichier pour le restocker dans un autre endroit accessible par ton script (BDD, ou système de fichiers).
-- Dans le dernier écho de ton dernier silence J'ai gardé pour la route ma rage, ma haine, et ma connerie -- H.F. Thiéfaine, Redescente climatisée
Une Bévue
Le 07/09/14 09:41, Doug713705 a écrit :
Il n'y a pas vraiment de bonne ou mauvaise méthode, chacune ayant ses avantages et inconvénients.
Tu peux très bien utiliser ta méthode mais cela va nécessairement t'obliger à : - Soit associer un mot clef au nom seul de l'image (sans le path complet), ce qui en limitera probablement l'intérêt surtout si les noms de fichiers sont du style IMG_000.JPG.
Non, mes noms de fichier sont de la forme : '2014_08_12__10_37_26__DSC_0015.JPG' (j'ai un script Ruby qui lit le createdate exif et range dans le bon dossier avec le bon nom mes images dont le nom est de la forme 'DSC_xxx.JPEG ou .NEF)
il y a donc le "datetime" inclus dans le nom de fichier et, comme le répertoire de rangement, pour celui-ci, est :
'/Volumes/SSD2/Users/yt/Pictures/Nikon Transfer 2/2014/08/12'
je peux déduire le path à partir du nom de fichier.
- Soit uploader le fichier pour le restocker dans un autre endroit accessible par ton script (BDD, ou système de fichiers).
pas utile.
Le 07/09/14 09:41, Doug713705 a écrit :
Il n'y a pas vraiment de bonne ou mauvaise méthode, chacune ayant ses
avantages et inconvénients.
Tu peux très bien utiliser ta méthode mais cela va nécessairement
t'obliger à :
- Soit associer un mot clef au nom seul de l'image (sans le path
complet), ce qui en limitera probablement l'intérêt surtout si les noms
de fichiers sont du style IMG_000.JPG.
Non, mes noms de fichier sont de la forme :
'2014_08_12__10_37_26__DSC_0015.JPG'
(j'ai un script Ruby qui lit le createdate exif et range dans le bon
dossier avec le bon nom mes images dont le nom est de la forme
'DSC_xxx.JPEG ou .NEF)
il y a donc le "datetime" inclus dans le nom de fichier et, comme le
répertoire de rangement, pour celui-ci, est :
'/Volumes/SSD2/Users/yt/Pictures/Nikon Transfer 2/2014/08/12'
je peux déduire le path à partir du nom de fichier.
- Soit uploader le fichier pour le restocker dans un autre endroit
accessible par ton script (BDD, ou système de fichiers).
Il n'y a pas vraiment de bonne ou mauvaise méthode, chacune ayant ses avantages et inconvénients.
Tu peux très bien utiliser ta méthode mais cela va nécessairement t'obliger à : - Soit associer un mot clef au nom seul de l'image (sans le path complet), ce qui en limitera probablement l'intérêt surtout si les noms de fichiers sont du style IMG_000.JPG.
Non, mes noms de fichier sont de la forme : '2014_08_12__10_37_26__DSC_0015.JPG' (j'ai un script Ruby qui lit le createdate exif et range dans le bon dossier avec le bon nom mes images dont le nom est de la forme 'DSC_xxx.JPEG ou .NEF)
il y a donc le "datetime" inclus dans le nom de fichier et, comme le répertoire de rangement, pour celui-ci, est :
'/Volumes/SSD2/Users/yt/Pictures/Nikon Transfer 2/2014/08/12'
je peux déduire le path à partir du nom de fichier.
- Soit uploader le fichier pour le restocker dans un autre endroit accessible par ton script (BDD, ou système de fichiers).
pas utile.
Doug713705
Le 07-09-2014, Une Bévue nous expliquait dans fr.comp.lang.php (<luh6ho$75k$) :
Le 07/09/14 09:41, Doug713705 a écrit :
il y a donc le "datetime" inclus dans le nom de fichier et, comme le répertoire de rangement, pour celui-ci, est :
'/Volumes/SSD2/Users/yt/Pictures/Nikon Transfer 2/2014/08/12'
je peux déduire le path à partir du nom de fichier.
Ton problème est don résolu, non ?
-- J'suis la môme kaléidoscope. C'est moi qu'j'faisais l'trottoir d'en face Du temps ou j'avais dans l'carosse Une chatte qu'était pas radada -- H.F. Thiéfaine, La môme kaléïdoscope
Le 07-09-2014, Une Bévue nous expliquait dans
fr.comp.lang.php
(<luh6ho$75k$1@shakotay.alphanet.ch>) :
Le 07/09/14 09:41, Doug713705 a écrit :
il y a donc le "datetime" inclus dans le nom de fichier et, comme le
répertoire de rangement, pour celui-ci, est :
'/Volumes/SSD2/Users/yt/Pictures/Nikon Transfer 2/2014/08/12'
je peux déduire le path à partir du nom de fichier.
Ton problème est don résolu, non ?
--
J'suis la môme kaléidoscope.
C'est moi qu'j'faisais l'trottoir d'en face
Du temps ou j'avais dans l'carosse
Une chatte qu'était pas radada
-- H.F. Thiéfaine, La môme kaléïdoscope
Le 07-09-2014, Une Bévue nous expliquait dans fr.comp.lang.php (<luh6ho$75k$) :
Le 07/09/14 09:41, Doug713705 a écrit :
il y a donc le "datetime" inclus dans le nom de fichier et, comme le répertoire de rangement, pour celui-ci, est :
'/Volumes/SSD2/Users/yt/Pictures/Nikon Transfer 2/2014/08/12'
je peux déduire le path à partir du nom de fichier.
Ton problème est don résolu, non ?
-- J'suis la môme kaléidoscope. C'est moi qu'j'faisais l'trottoir d'en face Du temps ou j'avais dans l'carosse Une chatte qu'était pas radada -- H.F. Thiéfaine, La môme kaléïdoscope