Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1798 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Récupérer l'adresse d'un fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Récupérer l'adresse d'un fichier

n°1336046
LouyZ
Yepaaaaaaaa
Posté le 31-03-2006 à 09:09:48  profilanswer
 

Bonjour,
 
j'ai un petit problème, je voudrais que l'utilisateur selectionne un fichier (sur le réseau) avec un bouton parcourir, et recupérer derrière l'adresse de ce fichier, sans le copier, afin de faire un lien vers celui-ci!
 
Si vous aviez des idées ;)
Merci!

mood
Publicité
Posté le 31-03-2006 à 09:09:48  profilanswer
 

n°1336048
anapajari
s/travail/glanding on hfr/gs;
Posté le 31-03-2006 à 09:15:26  profilanswer
 

pas possible ...

Spoiler :

humm suis sur de moi à 95% mais on sait jamais ...


 
Par contre je vois pas trop bien l'interet de pas uploader le fichier sur le serveur [:mlc2]

n°1336065
LouyZ
Yepaaaaaaaa
Posté le 31-03-2006 à 09:43:52  profilanswer
 

anapajari a écrit :

pas possible ...

Spoiler :

humm suis sur de moi à 95% mais on sait jamais ...


 
Par contre je vois pas trop bien l'interet de pas uploader le fichier sur le serveur [:mlc2]


 
Bah le fichier est sur un serveur de fichier, et le but est de faire un lien avec un devis à chaque fois sur une appli, mais ceux-ci peuvent être placé a plein d'endroit différents sur le serveur (chui en stage et c'est à la sncf cherche pas :D)

n°1336205
rufo
Pas me confondre avec Lycos!
Posté le 31-03-2006 à 11:50:42  profilanswer
 

Si j'ai bien compris ton besoin, alors oui, c'est possible car je l'ai fait et pourquoi pas uploader le ficheir sur le serveur? => pour pas dupliquer l'info.
 
Dans mon cas, je devais mettre en place un chrono documentaire (un tableau qui référence certains fichiers) et pour chaque fichier, avoir un lien qui permettent d'ouvrir le fichier. Or, ces fichiers se trouvaient sur un lecteur réseau windows (et pas question de dupliquer) et le serveur de mon appli php était sous Linux. En +, certains utilisateurs étaient sous linux. Donc, pour lier un fichier sans l'uploader, l'utilisateur utilise le bouton parcourir de la balise <input type="file" /> et sélectionne un fichier. Ensuite, au moment du submit, j'ai une fct javascript qui récupère le contenu du champ "file", le stocke dans un champ caché, vide le champ "file" et envoie le tout au serveur. Côté serveur, je en garde que la partie du chemin du fichier qui m'intéresse. Ensuite, vu que les utilisateurs de windows ont accès au fichier via lecteur réseau monté sur leur poste, je fais un lien hypertexte en "file://" (s'ils utilisent IE), comme ça, le fichier s'ouvre en local. Pour les utilisateurs sous Linux, on a mis en place un montage smb sur le serveur Linux de l'appli qui pointe sur le lecteur réseau windows et sur l'appli, j'ai fait un lien en "http://" qui pointe sur le montage smb, ce qui fait qu'ils téléchargent le fichier en local pour le consulter.
 
ps : sous Win XP SP2, ça amrche un peu moins bien ma fonction JS qui copie le contenu de champ "file". Sûrement pour renforcer la sécurité, mais au bout du compte, ça marche encore :)

Message cité 1 fois
Message édité par rufo le 31-03-2006 à 11:50:53
n°1337537
LouyZ
Yepaaaaaaaa
Posté le 03-04-2006 à 07:46:57  profilanswer
 

rufo a écrit :

Si j'ai bien compris ton besoin, alors oui, c'est possible car je l'ai fait et pourquoi pas uploader le ficheir sur le serveur? => pour pas dupliquer l'info.
 
Dans mon cas, je devais mettre en place un chrono documentaire (un tableau qui référence certains fichiers) et pour chaque fichier, avoir un lien qui permettent d'ouvrir le fichier. Or, ces fichiers se trouvaient sur un lecteur réseau windows (et pas question de dupliquer) et le serveur de mon appli php était sous Linux. En +, certains utilisateurs étaient sous linux. Donc, pour lier un fichier sans l'uploader, l'utilisateur utilise le bouton parcourir de la balise <input type="file" /> et sélectionne un fichier. Ensuite, au moment du submit, j'ai une fct javascript qui récupère le contenu du champ "file", le stocke dans un champ caché, vide le champ "file" et envoie le tout au serveur. Côté serveur, je en garde que la partie du chemin du fichier qui m'intéresse. Ensuite, vu que les utilisateurs de windows ont accès au fichier via lecteur réseau monté sur leur poste, je fais un lien hypertexte en "file://" (s'ils utilisent IE), comme ça, le fichier s'ouvre en local. Pour les utilisateurs sous Linux, on a mis en place un montage smb sur le serveur Linux de l'appli qui pointe sur le lecteur réseau windows et sur l'appli, j'ai fait un lien en "http://" qui pointe sur le montage smb, ce qui fait qu'ils téléchargent le fichier en local pour le consulter.
 
ps : sous Win XP SP2, ça amrche un peu moins bien ma fonction JS qui copie le contenu de champ "file". Sûrement pour renforcer la sécurité, mais au bout du compte, ça marche encore :)


 
C'est a peu près ca mon histoire :) Tu pourrais me dire comment ta fonction récupére le chemin?

n°1337549
rufo
Pas me confondre avec Lycos!
Posté le 03-04-2006 à 09:05:50  profilanswer
 

ben, je viens de te l'expliquer. L'utilisateur sélectionne un fichier via le bouton parcourir du champ <input type="file" /> ou copie/colle le chemin dans ce champ. Quand il valide, ça appelle une fonction javascript qui récupère le contenu du champ "file" (MonFormulaire.ChampFile.value) et le copie dans un champ caché (MonFormulaire.ChampCache.value = MonFormulaire.ChampFile.value;) et côté serveur(moi, c'est un script php), tu ne t'occupes que du contenu du champ caché...

n°1337550
anapajari
s/travail/glanding on hfr/gs;
Posté le 03-04-2006 à 09:08:22  profilanswer
 

Code :
  1. document.getElementById('leNomDeTonInputFile').value

n°1337563
The-Shadow
Développeur
T'as été voir dans ton profil?
Posté le 03-04-2006 à 09:32:51  profilanswer
 

anapajari a écrit :

Code :
  1. document.getElementById('leNomDeTonInputFile').value



T'es sûr qu'on peut modifier l'entrée d'un Input File ?
Non, parce que ce serait une grosse faille de sécu quand même.  [:at war with emo]

n°1337570
anapajari
s/travail/glanding on hfr/gs;
Posté le 03-04-2006 à 09:40:33  profilanswer
 

la modifier pas possible, la récuperer oui! Je viens de tester (FF&IE)!
Et puis c'etait surtout pour donner une methode plus "actuelle" que le:

rufo a écrit :

(MonFormulaire.ChampCache.value = MonFormulaire.ChampFile.value;)


 
edit:
A la modification FF me sort une magnifique:
[quote]Erreur : uncaught exception: [Exception... "Security error"  code: "1000" nsresult: "0x805303e8 (NS_ERROR_DOM_SECURITY_ERR)"  location: "http://***/***/***/upload.html Line: 27"]
 
IE dit rien, mais fait rien non plus


Message édité par anapajari le 03-04-2006 à 09:42:56
n°1337788
rufo
Pas me confondre avec Lycos!
Posté le 03-04-2006 à 14:51:42  profilanswer
 

Effectivement, modifier l'entrée d'un input file, c'est pas posssible. Avec ma méthode "à l'ancienne" (MonFormulaire.ChampCache.value = MonFormulaire.ChampFile.value), j'ai pas de message d'erreur, ça marche très bien.
Par contre, depuis que le SP2 sur WinXP a été installé, ça bloque l'envoi du formulaire quand on copie/colle un chemin d'accès dans le input file. Pour contourner, je fais :  
1) copie/colle du chemin dans le input file
2) je valide mais rien ne se passe
3) j'efface le contenu du input file
4) je valide et là, ça marche, le chemin est bien récupéré aussi vu qu'à la première validation, le input hidden a bien pris la valeur du input file ;)


Message édité par rufo le 03-04-2006 à 14:53:20
mood
Publicité
Posté le 03-04-2006 à 14:51:42  profilanswer
 

n°1337834
Sebastien
Posté le 03-04-2006 à 15:33:17  profilanswer
 

comment ca marche ton lien ?
si la personne A utilise un partage reseau à la con le fichier va avoir ce chemin
z:\rep\fichier1.dat
 
Alors que pour B qui n'a rien, ne pourra jamais utiliser ce fichier non ?

n°1337843
rufo
Pas me confondre avec Lycos!
Posté le 03-04-2006 à 15:37:05  profilanswer
 

il faut que sur le serveur web, il y ait un ou plusieurs montages qui donnent accès à /UrlMontageServeur/rep/fichier1.dat

n°1337846
Sebastien
Posté le 03-04-2006 à 15:38:46  profilanswer
 

Oui mais comme il dit qu'il a des liens de partout, ca doit etre tres propre le chemin de tous les liens s'il veut que ca marche, sans avoir besoin de les rapatriés chez lui les fichiers.

n°1337940
rufo
Pas me confondre avec Lycos!
Posté le 03-04-2006 à 16:33:07  profilanswer
 

oui, il faut que les liens soient propres, mais ça évite d'uploader les fichiers...On peut pas tout avoir...

n°1338144
Dinan
Posté le 03-04-2006 à 19:56:17  profilanswer
 

Sinon, tu fait un hidden (si ca ne marche pas avec un input que tu caches) et avec un button qui n'est pas submit tu copis dans l'input invisible et apres ton JS post sur la page.


Message édité par Dinan le 03-04-2006 à 19:57:22
n°1338367
rufo
Pas me confondre avec Lycos!
Posté le 04-04-2006 à 09:02:29  profilanswer
 

ben c'est ce que je fais copier dans un hidden. Ce que IE aime pas c'est que l'utilisateur copie/colle dans un input file des url (il passe donc pas par le bouton parcourir).


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Récupérer l'adresse d'un fichier

 

Sujets relatifs
Revenir d'un caractere dans un fichierConstantes stockées dans un fichier XML
Affichage fichier .vrml sous BorlandModifier une partie de fichier son avec jmf
[SQL] récupérer l'intitulé d'un champsContrôle adresse mail
[Résolu] lire un morceau de fichier audio avec JMF[Résolu] Ecrire un fichier au format UTF-8
Problème de ponctuation ds un fichier texte dynamique ds flashrecuperer chemin fichier
Plus de sujets relatifs à : Récupérer l'adresse d'un fichier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR