Recuperer le nom d'une photo - PHP - Programmation
Marsh Posté le 06-02-2007 à 15:53:26
mwoui mais par quelle manip je peux le mettre dans une variable pour l'envoyer dans ma base ?
tu veux dire avec ca : $_FILES['userfile']['name'] ?
Mais je ne vois pas comment m'en servir..je débute en php
Marsh Posté le 06-02-2007 à 15:57:46
Ba tu l'as dans une variable de ce genre là :
$_FILES['fichier']['name']
Donc suffit de l'insérer dans ta bdd.
Edit : Ok je viens de voir la suite... Et bien tu insert cette variable dans une chaine qui va constituer ta requête puis tu envois le tout au sgbd. Si tu ne sais pas comment faire, je t'invite à aller apprendre les bases du langage avant de t'attaquer à trop compliqué. Et, comme je me plait à le dire, on ne met pas la charue avant les boeufs.
Marsh Posté le 06-02-2007 à 17:53:27
bon j'ai plus au moins compris la théorie : mon image est en méthode POST vers une page upload.php qui vérifie sont contenu, et de même les champs titre/date/lieu ect... sont envoyé à cette même page via l'url ( je pense pas qu'on puisse définir deux méthodes dans un seul formulaire : vers une page php ET vers sql ). upload.php finira le travail en envoyant l'image dans un répertoire et les champs texte dans la base. Jme trompe sur l'enchainement des étapes ?
Marsh Posté le 06-02-2007 à 21:21:10
Oula... Faut revoir les bases là...
Marsh Posté le 07-02-2007 à 09:18:10
je te conseille de faire un petit tour sur lesiteduzero ou phpdebutant.
Ca te sera surement très utile et tu trouveras facilement les réponses a tes questions
Marsh Posté le 10-02-2007 à 21:27:12
bref on est pas la pour discuter des mes pauvres compétences. J'aimerai juste savoir quelle philosophie je dois adopter : J'aimerai n'utiliser qu'un formulaire pour : completer une base de donnée + l'upload d'image dans un repertoire. Les deux marchent nickel chaucun de leur coté et j'aimerai savoir si je peux ne faire qu'un formulaire !
Marsh Posté le 12-02-2007 à 17:46:55
bon j'y suis arriver : j'ai créer un formulaire en méthode post vers une page php qui gère la photo et la gestion de la base de donnée.
Je souhaite ajouter un 3eme script php dans cette page : celui de la création de la vignette. Le script est écrit et marche avec une image déjà sur le serveur. Seulement quand je teste avec une image que j'upload le code s'execute avant que l'upload ne soit fini, et il me retourne donc "no such file".
Je cherche donc une petite astuce qui permet de vérifier que l'upload est complet avant de lancer ce sript. J'ai pense a file_exist($file)..sans aboutir.
Quelqu'un aurait-il une idée ?
Marsh Posté le 12-02-2007 à 17:52:12
endozen a écrit : Seulement quand je teste avec une image que j'upload le code s'execute avant que l'upload ne soit fini, et il me retourne donc "no such file". |
Montre ton code.
Marsh Posté le 12-02-2007 à 18:06:14
Voici la page upload.php qui recoit donc les variables du formulaire :
Code :
|
Merci pour l'astuce -ThX-
Marsh Posté le 12-02-2007 à 21:31:22
voici exactement l'erreur retournée : Warning: imagecreatefromjpeg(upload/iii 054.jpg): failed to open stream: No such file or directory in /home5/e/endorsen/www/admin/upload.php on line 72
Marsh Posté le 12-02-2007 à 22:03:32
ce problème est dû tt simplement à un pb d'espace dans le fichier...j'aurai du m'en douter avant.
Marsh Posté le 13-02-2007 à 09:07:44
yes ca doit poser soucis, encode les noms de fichiers avant des les uploader
Marsh Posté le 14-02-2007 à 17:42:16
J'ai bien avancé dans mon projet, mais je suis face à une autre difficulté : lire un tableau associatif. J'essai de mettre en place la fonction qui permet de lire les entêtes d'une photo : exif_read_data().
[code=php]
<?php
echo "test1.jpg:<br />\n";
$exif = exif_read_data('tests/test1.jpg', 'IFD0');
echo $exif===false ? "Aucun en-tête de donnés n'a été trouvé.<br />\n" : "L'image contient des en-têtes<br />\n";
$exif = exif_read_data('tests/test2.jpg', 0, true);
echo "test2.jpg:<br />\n";
foreach ($exif as $key => $section) {
foreach ($section as $name => $val) {
echo "$key.$name: $val<br />\n";
}
}
?>
[/php]
Ceci marche très bien, voir trop bien. Je n'ai besoin que de certaines valeurs, ce code me sort tout le tableau (avec l'instruction foreach).
J'ai tenté de chercher comment lire un tableau associatif sans succès.
Comment puis je sélectionner une ligne de ce tableau, ainsi que sa valeur ?
Marsh Posté le 14-02-2007 à 17:44:08
bah tu accèdes comme les autres tableaux... $exif[key]...
Marsh Posté le 14-02-2007 à 17:51:02
Mais par exemple quand je test $exif['ISOSpeedRatings'] , cette variable est vide.
Marsh Posté le 14-02-2007 à 17:52:19
print_r($exif) te donne quoi?
Marsh Posté le 14-02-2007 à 17:53:48
bon aller..je te colle le résultat :
Array ( [FILE] => Array ( [FileName] => iii116.jpg [FileDateTime] => 1171322377 [FileSize] => 117285 [FileType] => 2 [MimeType] => image/jpeg [SectionsFound] => ANY_TAG, IFD0, THUMBNAIL, EXIF, INTEROP ) [COMPUTED] => Array ( [html] => width="480" height="640" [Height] => 640 [Width] => 480 [IsColor] => 1 [ByteOrderMotorola] => 0 [ApertureFNumber] => f/6.0 [Thumbnail.FileType] => 2 [Thumbnail.MimeType] => image/jpeg ) [IFD0] => Array ( [Make] => SONY [Model] => DSC-S500 [Orientation] => 1 [XResolution] => 72/1 [YResolution] => 72/1 [ResolutionUnit] => 2 [Software] => Adobe Photoshop Album Starter Edition 3.0 [DateTime] => 2007:02:04 13:50:56 [YCbCrPositioning] => 2 [Exif_IFD_Pointer] => 240 [UndefinedTag:0xC4A5] => PrintIM
Par exemple j'aimerai juste sélectionner la ligne [ApertureFNumber] => f/6.0
Marsh Posté le 14-02-2007 à 17:58:07
oui mais bizarrement $exif['ApertureFNumber'] ne marche pas mieux, je dois peut etre avoir la syntaxe d'accès a la ligne incomplete : il manque pas un COMPUTED ?
Marsh Posté le 14-02-2007 à 17:59:22
$exif['COMPUTED']['ApertureFNumber']
Marsh Posté le 14-02-2007 à 18:00:31
Merci sielfried ! Et les autres aussi bien sur!
excellent, je vous dois combien ? merci mille fois
Marsh Posté le 16-02-2007 à 15:56:59
Bon j'ai fais une petite pause dans ma programmation mais je m'y remet doucement : j'aimerai maintenant afficher sur l'index des catégories : Par exemple je prends le pays.
J'aimerai que mon script scan ma table, trouve tous les pays différents, et m'affiche tous les enregistrements par pays (faire un trableau pour chaque pays, avec le nom du pays au dessu, puis insérer des sautes de lignes avant le tableau d'un autre pays).
J'ai commencer a rédiger un script a 2 francs pour trouver toutes les occurences, mais de fait de ma faible expérience, je pense que c'est lourd et qu'on peut faire bcp mieux avec la bibliothèque de php.
Code :
|
Marsh Posté le 26-02-2007 à 19:19:17
Je pense meme que je fais completement fausse route, et qu'il faudrait que je me tourne vers plusieurs requetes sql, avec Select * from matable where pays=$pays, puis afficher successivement tous les enregistrements.
Marsh Posté le 27-02-2007 à 09:54:00
hein?
Tu veux faire quoi exactement? Récupérer tous les enregistrements d'une table et les afficher un par un?
Marsh Posté le 01-03-2007 à 15:20:21
merci skeye d'avoir essayer Mais j'ai réussi.
Je voulais juste les afficher de la façon suivante : www.endorsen.com
Marsh Posté le 06-02-2007 à 15:44:36
Voilà j'ai construit un formulaire d'upload en php/mysql avec envoi des photos dans un répertoire.
Je souhaiterai savoir s'il était possible d'introduire un champ masqué dans mon formulaire qui récupererai
le nom de la photo envoyée ( valeur de ce champ codé en php bien sur ).
Merci !