Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
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 08/06/2008, 22h57   #1
Invité de passage
 
Inscription : mai 2008
Messages : 34
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 34
Points : 3
Points : 3
Par défaut Envoi du chemin d'un fichier

Bonsoir à tous,

je cherche à faire un formulaire avec un bouton "Parcourir" afin d'envoyer le chemin complet d'un fichier.

J'ai pour le moment le fichier html suivant :
Code html :
1
2
3
4
5
6
7
8
9
10
11
<html>
<title>Test</title>
<body>
 
<form method="POST" action="essaiupload.php">
	<input type="file" name="avatar" size=50><br><br>
	<input type="submit" name="envoyer" value="Envoyer le fichier">
</form>
 
</body>
</html>

ainsi que le fichier php suivant (essaiupload.php) :

Code :
1
2
3
4
5
6
7
8
9
10
11
<html>
<title>Test</title>
<body>
 
<?php 
$nom = $_POST['avatar'];
echo $nom;
?>
 
</body>
</html>

Le problème c'est que quand je teste, j'ai uniquement le nom du fichier et pas son chemin complet que s'affiche (dans la variable $nom). Du coup je peux pas faire grand chose après...

Savez vous comment je peux récupérer le chemin complet du fichier ?


Merci d'avance pour votre aide.
rodgeur62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2008, 00h43   #2
Membre émérite
 
Inscription : septembre 2007
Messages : 951
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 951
Points : 948
Points : 948
Les informations concernant ton fichier sont dans la variable $_FILES pas dans $_POST.

http://uk3.php.net/manual/fr/features.file-upload.php
batataw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2008, 08h50   #3
Invité de passage
 
Inscription : octobre 2007
Messages : 10
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 10
Points : 2
Points : 2
Salut !

Il faut aussi préciser le type d'encodage du formulaire :

Code :
<form method="POST" action="essaiupload.php" enctype="multipart/form-data">
Oxycrest est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2008, 19h29   #4
Invité de passage
 
Inscription : mai 2008
Messages : 34
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 34
Points : 3
Points : 3
Le type d'encodage est-il vraiment nécessaire, si je ne souhaite envoyer que le nom du fichier et non pas le fichier en lui même ?


Parce qu'en fait les fichiers seront des vidéos, donc s'il faut ensuite transférer les fichiers, ca va prendre du temps... c'est pourquoi je ne souhaite récupérer que le chemin du fichier.


Mes fichiers sont désormais les suivants :

Code :
1
2
3
4
5
6
7
8
9
10
11
<html>
<title>Test</title>
<body>
 
<form method="POST" action="essaiupload.php" enctype="multipart/form-data">
	<input type="file" name="avatar" size=50><br><br>
	<input type="submit" name="envoyer" value="Envoyer le fichier">
</form>
 
</body>
</html>

et le essaiupload.php :
Code :
1
2
3
4
5
6
7
8
9
10
<html>
<title>Test</title>
<body>
 
<?php 
$nom = $_FILES['avatar']['name'];
echo $nom;
?>
</body>
</html>


Le problème est que ca m'affiche uniquement le nom du fichier, pas son chemin complet, or c'est ce que je voudrais récupérer...


Comment puis-je faire svp ?
rodgeur62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2008, 23h14   #5
Membre émérite
 
Inscription : septembre 2007
Messages : 951
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 951
Points : 948
Points : 948
Si tu ne souhaites pas envoyer le fichier, comment les utilisateurs vont-ils récupérer ce fichier ? Tu dois le stocker sur ton serveur si tu veux que les utilisateurs ont accès à ce fichier.

Tu ne pourras pas récupérer le chemin du fichier car PHP n'a aucun intérêts à conserver le chemin du fichier du poste client.
batataw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2008, 11h47   #6
Invité de passage
 
Inscription : mai 2008
Messages : 34
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 34
Points : 3
Points : 3
En fait je souhaite ensuite uploader les vidéos sur youtube,
et ce à partir du chemin du fichier (d'où l'utilité d'avoir le chemin),

alors que si je faisais l'upload sur mon serveur puis sur youtube ca prendrait plus de temps je pense.
rodgeur62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2008, 16h25   #7
Membre émérite
 
Inscription : septembre 2007
Messages : 951
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 951
Points : 948
Points : 948
Je comprends ce que tu veux faire mais le chemin du fichier te sera d'aucune utilité meme si tu dois le télécharger sur Youtube.

Youtube va te fournir un lien vers ton fichier, c'est ce lien qui te sera utile.

Il faut que tu télécharges toutes tes vidéos sur Youtube puis que tu les références dans ta base de données.
batataw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2008, 16h44   #8
Invité de passage
 
Inscription : mai 2008
Messages : 34
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 34
Points : 3
Points : 3
C'est mon script qui uploade la vidéo sur Youtube,

et ma fonction pour faire cela a besoin du chemin du fichier comme argument.


C'est pourquoi je ne veux obtenir du formulaire que le chemin du fichier et non le fichier lui-même.
rodgeur62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2008, 17h01   #9
Membre émérite
 
Inscription : septembre 2007
Messages : 951
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 951
Points : 948
Points : 948
Okay mais ton script qui doit envoyé tes vidéos sur Youtube est sur ton serveur ? Si c'est le cas ton serveur ne peux pas accéder aux fichiers sur le poste client.

Sinon je te conseille de regardé plutot vers Javascript, peut-etre que tu pourrais ne pas poster le fichier mais juste récupérer son le chemin.

Tu pourrais mettre ton champ fichier <input type="file" name="avatar" size=50> en dehors des balises FORM pour ne pas qu'il soit posté. Grace a du javascript récupérer le chemin qui se trouve dans la boite de dialogue et le mettre dans un champ HIDDEN qui lui se trouve dans le FORM.
batataw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2008, 17h14   #10
Invité de passage
 
Inscription : mai 2008
Messages : 34
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 34
Points : 3
Points : 3
Oui j'ai fait comme ca en javascript, mais je voulais quand même savoir si c'était faisable en php...

Mais j'ai bien fait le boulet, ca marchait parce que j'ai fait mes tests en localhost, mais c'est vrai que le serveur ne peut pas accéder aux fichiers sur le poste client...

Merci de m'avoir ouvert les yeux


Je dois donc uploader vraiment le fichier avant de l'envoyer sur Youtube, je suppose ?
rodgeur62 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 02h16.


 
 
 
 
Partenaires

Hébergement Web