Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/07/2011, 10h22   #1
Invité de passage
 
Inscription : juillet 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : juillet 2011
Messages : 5
Points : 0
Points : 0
Par défaut Récupérer chemin complet d'un fichier

Bonjour,

Je suis bloqué sur un problème depuis hier, j'aimerais récupérer le chemin complet d'un fichier que l'utilisateur irais chercher sur son ordinateur mais je n'y arrive pas.

Voici le résultat obtenu : C:\fakepath\"nom du fichier"

Pour le moment j'ai juste testé cette méthode :

Code php :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
<?php
 
echo '
<form action="unit1.php" method="post">
    <input type="file" NAME="file1" onchange=\'return file1Value(this)\'>
    <input type="hidden" name="file1name" value="">
    <input type="submit"/>
</form>
 
<script language="JavaScript">
function file1Value(thisvalue) 
{
   thisvalue.form.file1name.value = thisvalue.form.file1.value.toString();
   return true;
}
</script>';
 
 if(isset($_POST['file1name']))
  echo $_POST['file1name'];
?>

Dès que je passe par un serveur j'obtiens "fakepath" au lieu du chemin du fichier.

Donc si quelqu'un a une solution ... merci d'avance.
Jeremy27 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 10h30   #2
Responsable JavaScript & AJAX

 
Avatar de vermine
 
Inscription : mars 2008
Messages : 2 690
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2008
Messages : 2 690
Points : 5 763
Points : 5 763
Bonjour,

Vous êtes sûr de l'emploi de la fonction toString() ? Cette fonction retourne la description de l'objet. Ca ne veut donc pas toujours dire qu'elle retourne une chaine de caractères (on se comprend).
__________________
Elen Poukram - Isegoria - Sandawe
vermine est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 10h33   #3
Invité de passage
 
Inscription : juillet 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : juillet 2011
Messages : 5
Points : 0
Points : 0
Je ne suis pas du tout sur du code, je ne connais pas trop le javascript.

Mais le truc c'est que ce code marche lorsque la page est appelé directement (et qu'il n'y a pas de php dedans) et dès que je passe par mon serveur wamp ça me sort le "C:\fakepath\..."
Jeremy27 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 10h35   #4
Responsable JavaScript & AJAX

 
Avatar de vermine
 
Inscription : mars 2008
Messages : 2 690
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2008
Messages : 2 690
Points : 5 763
Points : 5 763
Avant que je n'oublie, maintenant on définit un script Javascript ainsi :

Code html :
<script type="text/javascript">
__________________
Elen Poukram - Isegoria - Sandawe
vermine est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 10h41   #5
Invité de passage
 
Inscription : juillet 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : juillet 2011
Messages : 5
Points : 0
Points : 0
J'ai effectué la modif et je prend note, merci
Jeremy27 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 10h43   #6
Responsable JavaScript & AJAX

 
Avatar de vermine
 
Inscription : mars 2008
Messages : 2 690
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2008
Messages : 2 690
Points : 5 763
Points : 5 763
Le code Javascript, quoiqu'un peu surprenant, fonctionne.
La partie PhP à l'air correcte aussi. Du coup, est-ce que la fonctionnalité est permise ? Est-ce qu'avant le post il faut encapsuler l'url à cause des caractères trompeurs ? ... ?
__________________
Elen Poukram - Isegoria - Sandawe
vermine est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 10h43   #7
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 793
Points : 35 793
Le value d'un input est toujours une chaine de caractères, utiliser toString() dessus est une façon rigolote de réinventer l'instruction
Code :
1
2
var toto = 'tata';
toto = toto;


Toujours est-il qu'il n'y a aucun intérêt à vouloir récupérer le chemin réel d'un input file, de ce fait, les navigateurs ne donnent plus accès à cette information.
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 10h47   #8
Invité de passage
 
Inscription : juillet 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : juillet 2011
Messages : 5
Points : 0
Points : 0
En fait l'interet pour moi serait de récupérer le chemin afin de pouvoir exécuter ce fichier .bat et aussi d'aller écrire les fichiers de sortis dans le même répertoire.

Je suis actuellement en stage et ceci m'est imposé donc je cherche une solution pour le faire.
Jeremy27 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 10h54   #9
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 793
Points : 35 793
Citation:
Envoyé par Jeremy27
En fait l'interet pour moi serait de récupérer le chemin afin de pouvoir exécuter ce fichier .bat et aussi d'aller écrire les fichiers de sortis dans le même répertoire.
Ouais, lancer un batch sur le poste client depuis une page Web... qu'on aura en plus peut-être créé soi-même... on se demande vraiment pourquoi ce n'est pas autorisé
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 10h56   #10
Invité de passage
 
Inscription : juillet 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : juillet 2011
Messages : 5
Points : 0
Points : 0
Le truc c'est que c'est sur un intranet et que le lancement d'un .bat est autorisé lui donc je pense que ça doit être finalement possible, non ?

Sinon auriez vous une autre solution à me proposer ?
Jeremy27 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h49.


 
 
 
 
Partenaires

Hébergement Web