recupération d'un input type = file - PHP - Programmation
Marsh Posté le 09-12-2004 à 14:24:10
$_FILES['fichier']['name'];
http://www.toutestfacile.com/php/c [...] upload.php
Marsh Posté le 09-12-2004 à 14:28:44
$files stock les fichiers uploadé mais moi j'upload rien. Je veux juste récupérer le chemin que l'utilisateur a choisi pour ouvrir manuellement le fichier
Marsh Posté le 09-12-2004 à 15:27:05
Personne n'a de réponses? j'ai essayé quand on tape un '\' dans une zone de texte automatiquement quand on récupère la valeur il en met 2 et si on met 2 slach il en met 4.
Comment résoudre ce problème?
Marsh Posté le 09-12-2004 à 15:33:25
spaceuniverse a écrit : $files stock les fichiers uploadé mais moi j'upload rien. Je veux juste récupérer le chemin que l'utilisateur a choisi pour ouvrir manuellement le fichier |
Comment ça manuellement ?
Marsh Posté le 09-12-2004 à 15:33:59
spaceuniverse a écrit : Personne n'a de réponses? j'ai essayé quand on tape un '\' dans une zone de texte automatiquement quand on récupère la valeur il en met 2 et si on met 2 slach il en met 4. |
C'est l'option magic_quote qui est activée (cf la doc)
Marsh Posté le 13-03-2005 à 18:38:44
Code :
|
Voila le code se trouvant sur la page ou il y a le forumlaire
Code :
|
et voila le code de la page qui permet l'upload
mon probleme est que je ne sais pas quelle repertoire il faut mettre a $repertoireDestination si c'est un repertoire se trouvant sur mon pc ou dans mon herbergeur comme free.
Mon but etant de faire comme dans le forum phpBB lorque dans le profile il est possible d'envoyer un avatar.
Merci de vos reponse.
Marsh Posté le 14-03-2005 à 08:50:19
Citation : $HTTP_POST_FILES["fichier"]["name"] |
sur les versions récentes de PHP, c'est quand meme moins lourd d'utiliser $_FILES["fichier"]["name"]...
Marsh Posté le 15-03-2005 à 19:38:27
Tiens, ce topic me fait penser que j'ai essayé de faire la meme chose il y a quelques temps ...
Comment faire pour avoir un formulaire avec un bouton "parcourir", mais n'envoyer que le chemin d'acces du fichier, sans faire l'upload ...
Parcequ'il me semble que même si le script de l'autre côté ne fait rien pour récuperer le fichier, il est quand meme uploadé quand on clique sur valider non ?
Marsh Posté le 15-03-2005 à 20:05:33
oui il est uploader dans un rép temporaire du serveur, meme si tu n'en récupère que le chemin par la suite...
Marsh Posté le 16-03-2005 à 08:26:43
Et il n'y a pas moyen de faire autrement ?
J'ai pensé faire un script JS qui, lorsqu'on valide le formulaire, copie le champ fichier vers un champ texte normal et efface le champ du fichier ... Mais bon, si qqn désactive JS ... ça ne marchera plus ... et bonjour la surcharge des serveurs si qqn upload un fichier de 600 Mo ... tout ça pour en récuperer le chemind d'accès
Merci.
Marsh Posté le 16-03-2005 à 10:21:32
en meme temps c'est un peu bizarre de vouloir juste récupérer le nom du fichier... vu que tu l'a pas sur le serveur, tu peux pas permettre aux autres de le downloader... si le mec le supprime ou le déplace sur sa machine, l'adresse que tu as stockée est mauvaise et t'a aucun moyen de le savoir et de mettre à jour...
J'ai du mal à comprendre l'utilité....
Marsh Posté le 16-03-2005 à 10:40:03
C'est pour de l'intranet avec des fichiers sur le réseau
Marsh Posté le 16-03-2005 à 11:22:36
alors tu fait direct un input de type "text" dans lequel le mec copie/colle le chemin du fichier... si tu n'a besoin que d'une adresse et non d'un fichier, "file" n'est pas pour toi
Marsh Posté le 16-03-2005 à 12:02:12
Je sais bien, mais le problème c'est que les chemins d'accès sont parfois très long \\serveur\dossier\un nom de dossier avec mots clés\encore un nom de sous dossier\encore un dossier qui montre a quel point les serveurs sont mal organisé\et enfin le fichier avec 250 mots dans le nom\
Enfin voilà quoi
Marsh Posté le 16-03-2005 à 12:04:07
clic droit sur le fichier, "propriété", et là tu sélectionne toute la ligne de 1Km dans le champs URL, et après "copier" et "coller" dans le champs du formulaire...
sorry j'ai pas trop le temps de faire les captures d'image pour illustrer
Marsh Posté le 16-03-2005 à 13:07:00
Je connais merci
Mais bon, ça oblige à de toute façon aller chercher le fichier là où il est, clic droit dessus, copier le chemin d'acces ... mais là déjà le nom du fichier n'est pas inclus, donc "Coller" le chemin d'acces, copier le nom du fichier, et coller le nom du fichier à la suite ...
Enfin bref, de toute façon je me demandais juste si c'etait possible
Merci en tout cas
++
Marsh Posté le 22-01-2009 à 14:26:15
ratibus a écrit : C'est l'option magic_quote qui est activée (cf la doc) |
bonjour à tous,
pour ma part j'ai bien mis magic_quotes_gpc = Off
mais mon problème persiste toujours, lorsque je charge un fichier, je devrais avoir F:\maj\Professeurs.csv
au lieu de ca je me retrouve avec F:\\maj\\Professeurs.csv
Merci de votre aide, ca fait 2 jours que j'essaie de convertir avec str_replace et d'autres méthodes mais rien ne march
Marsh Posté le 22-01-2009 à 15:55:44
De toute manière, je crois que Firefox n'envoi pas le chemin complet; juste le nom du fichier.
Ensuite si str_replace ne fonctionne pas, c'est que t'as un problème ailleurs. Poste du code pour voir.
Marsh Posté le 23-01-2009 à 09:42:25
alors, voici mon formulaire de chargement :
charger.php
Code :
|
et la voici ma page qui affiche le résultat :
chargement.php
Code :
|
Marsh Posté le 23-01-2009 à 10:01:40
Pourquoi y'a-t-il des espaces entre les attributs, les = et les valeurs ?
Marsh Posté le 23-01-2009 à 10:23:37
ca revient au même, j'ai toujours eu l'habitude de faire comme ca pour aérer le code
Marsh Posté le 23-01-2009 à 11:17:20
bahamut100 il manque enctype="multipart/form-data" dans la balise form
Marsh Posté le 23-01-2009 à 12:06:14
merci de votre aide.
Mais en fait ce que je voudrais, ce n'est pas charger un fichier, c'est le lire (avec explode()) et récupérer les données pour pouvoir les insérer dans une base mySql
Marsh Posté le 23-01-2009 à 12:39:24
Il faut obligatoirement uploader le fichier. Sinon trop de bordel (déjà la compatibilité navigateurs, FireFox n'envoit pas le chemin complet)
Marsh Posté le 23-01-2009 à 15:56:04
j'ai bien compris ca, c'est fait et ca fonctionne, mais comme je l'ai dit plus haut, je dois parcourir ce fichier sans le lire, et je n'ai pas vu de propriétés de $_FILES qui permettaient cela. Je me fait comprendre ?
Marsh Posté le 23-01-2009 à 15:58:50
Hum ... tu t'y prendrais comment pour traverser un pays sans sortir de chez toi?
Là, c'est pareil. parcourir le contenu d'un fichier sans lire le contenu d'un fichier, c'est, comment dire, ... absurde comme idée.
Marsh Posté le 23-01-2009 à 18:20:14
il veut juste lire un bouquin sans l'ouvrir
Bonjour, je veux cliquer sur un bouton et faire deux redirection en uploadant un fichier que je veux parcourir sans le lire, le tout avec une musique de fond et protégé par un mot de passe en javascript.
Vous pouvez me le faire?
Marsh Posté le 24-01-2009 à 17:08:39
je l'ai deja fait avec la méthode explode() et ca fonctionnait tres bien.
je récupérais le fichier .csv
je faisais :
Code :
|
Marsh Posté le 25-01-2009 à 22:05:24
Hmmm et si y'a un point-virgule dans une valeur ? C'est toujours une mauvaise idée de parser les CSV à la main, y'a des tonnes de libs qui savent faire ça très bien...
Marsh Posté le 26-01-2009 à 09:17:24
merci de me mettre sur la piste, mais tu peux m'en, dire plus ?
(pour le fichier CSV, c'est un logiciel de l'éducation qui exporte une liste d'élève en fichier csv)
Marsh Posté le 09-12-2004 à 14:20:54
Voila j'ai une petite page qui permet de lire un fichier csv. Quand on clique sur le bouton envoyer il met le contenu du fichier dans une tzble de mysql. J'utilise donc une balise <input type = file name = fichier> que je récupère en faisant $_POST[fichier].
et la au lieu d'avoir un truc du genre : c:\xxxxx\xxxx\x.csv j'ai c:\\xxxxx\\xxxx\\x.csv
Quel est le pb?