Webmaster Hub: Envoyer un fichier sur l'hebergement - Webmaster Hub

Aller au contenu

  • 2 Pages +
  • 1
  • 2
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

Envoyer un fichier sur l'hebergement Depuis le site internet Noter : -----

#1 L'utilisateur est hors-ligne   ZeDevil 

  • Groupe : Hubmaster
  • Messages : 447
  • Inscrit(e) : 05-novembre 04

Posté 21 décembre 2011 - 10:13

Bonjour à tous !

Je cherche à savoir comment je pourrais faire pour envoyer un fichier pdf ou doc chez mon hébergeur en étant sur une page internet.

Je vous explique :
J'ai un dossier précis ou je stock des fichiers chez mon hébergeur.
Depuis une page de mon site, je veux pouvoir aller sur mon disque dur, choisir un fichier, et l'envoyer dans ce dossier précis.

Je ne sais pas comment faire, et si il existe deja des chose la dessus.
Je vous demande donc votre aide.


Merci à vous, et bonne journée !
0

#2 L'utilisateur est hors-ligne   Ernestine 

  • Groupe : Fondatrice
  • Messages : 1 034
  • Inscrit(e) : 21-août 03
  • Genre:Femme

Posté 21 décembre 2011 - 11:26

Salut,

Il fait d'abord faire un formulaire avec un champ de type "file" : c'est un champ qui permet à l'utilisateur de choisir un fichier sur son disque dur. Il faut aussi préciser l'enctype du formulaire. Ce qui donne :
<form action="truc.php" method="post" enctype="multipart/form-data">
<label for="fichier">Fichier : </label>
<input type="file" id="fichier" name="fichier" />
<input type="submit" value="Envoyer" />
</form>


Ensuite, dans truc.php, tu récupères le fichier avec $_FILES[] et tu l'enregistres avec move_uploaded_file() :
$fichier = $_FILES['fichier'];
// Vérifications / validation
move_uploaded_file($fichier['tmp_name'], "destination/fichier.pdf");

Avant l'enregistrement, il faut vérifier que le fichier envoyé est correct (bon format, taille maximale, droits de l'utilisateur, etc). Toutes les infos le concernant sont stockées dans $fichier. Par exemple pour connaître son nom : $fichier['name']. Son type mime : $fichier['type'], etc...
Et il faut bien sûr remplacer "destination/fichier.pdf" (dans l'exemple ci-dessus) par le chemin et le nom de ton choix.
0

#3 L'utilisateur est hors-ligne   ZeDevil 

  • Groupe : Hubmaster
  • Messages : 447
  • Inscrit(e) : 05-novembre 04

Posté 21 décembre 2011 - 12:00

Salut et merci pour ton aide, mais ce que je ne comprend pas c'est lorsque tu indique qu'il faut changer "destination/fichier.pdf" par le chemin de mon choix, le nom du fichier sera toujours le même !?
0

#4 L'utilisateur est en ligne   Aenoa 

  • Groupe : Membre+
  • Messages : 285
  • Inscrit(e) : 28-octobre 10
  • Genre:Homme
  • Localisation:Tournai
  • Société:Je cherche...

Posté 21 décembre 2011 - 12:18

non, tu peut très bien mettre en destination
"destination/".$fichier['name']
:)
Mon (très petit) site personnel

"Ce n'est pas parce que l'on ne sait pas, que l'on ne peut pas. L'on peut tout apprendre, avec de la motivation."
0

#5 L'utilisateur est hors-ligne   ZeDevil 

  • Groupe : Hubmaster
  • Messages : 447
  • Inscrit(e) : 05-novembre 04

Posté 21 décembre 2011 - 12:26

D'accord, c'est bien ainsi.
Je vais essayer pour voir ce que ça donne !

Merci à vous 2, je reviens vous voir après.
0

#6 L'utilisateur est hors-ligne   ZeDevil 

  • Groupe : Hubmaster
  • Messages : 447
  • Inscrit(e) : 05-novembre 04

Posté 21 décembre 2011 - 12:43

Quel serait la destination, si je voulais que ca se trouve dans le meme dossier que mon fichier php ?

Ce message a été modifié par ZeDevil - 21 décembre 2011 - 12:57.

0

#7 L'utilisateur est hors-ligne   Ernestine 

  • Groupe : Fondatrice
  • Messages : 1 034
  • Inscrit(e) : 21-août 03
  • Genre:Femme

Posté 21 décembre 2011 - 13:09

La destination est en relatif. Donc pour enregistrer dans le répertoire courant, suffit de juste mettre le nom du fichier :
move_uploaded_file($fichier['tmp_name'], $fichier['name']);

0

#8 L'utilisateur est hors-ligne   ZeDevil 

  • Groupe : Hubmaster
  • Messages : 447
  • Inscrit(e) : 05-novembre 04

Posté 21 décembre 2011 - 13:11

Rha oui ca devrait etre bon, j'ai testé, mais j'avais laissé le "." !

Merci Ernestine !


EDIT : Je viens d'essayer, mais je ne trouve pas mon fichier de test.pdf dans le dossier ?

Ce message a été modifié par ZeDevil - 21 décembre 2011 - 13:13.

0

#9 L'utilisateur est hors-ligne   ZeDevil 

  • Groupe : Hubmaster
  • Messages : 447
  • Inscrit(e) : 05-novembre 04

Posté 21 décembre 2011 - 13:29

Je n'arrive pas à trouver d’où vient le problème.......surement dans le 2eme fichier 'truc.php'

On dirait que ca ne charge rien !
0

#10 L'utilisateur est en ligne   Aenoa 

  • Groupe : Membre+
  • Messages : 285
  • Inscrit(e) : 28-octobre 10
  • Genre:Homme
  • Localisation:Tournai
  • Société:Je cherche...

Posté 21 décembre 2011 - 13:31

as-tu mis le dossier en CHMOD 777 ? car sinon, le deamon web ne saura rien créer dedans.

Au pire, tu peut faire une simple condition savoir si ça a fonctionné, du genre
move_uploaded_file($fichier['tmp_name'], $fichier['name']) or die("pas ok");
echo "ok";


si tu vois "pas ok", le déplacement du fichier a échoué.
Mon (très petit) site personnel

"Ce n'est pas parce que l'on ne sait pas, que l'on ne peut pas. L'on peut tout apprendre, avec de la motivation."
0

#11 L'utilisateur est hors-ligne   ZeDevil 

  • Groupe : Hubmaster
  • Messages : 447
  • Inscrit(e) : 05-novembre 04

Posté 21 décembre 2011 - 13:35

J'ai mis le CHMOD 777 sur le 2eme fichier, plus ton test ok, et ca m'indique : pas ok !
0

#12 L'utilisateur est hors-ligne   Ernestine 

  • Groupe : Fondatrice
  • Messages : 1 034
  • Inscrit(e) : 21-août 03
  • Genre:Femme

Posté 21 décembre 2011 - 13:46

Voir le messageZeDevil, le 21 décembre 2011 - 13:35, dit :

J'ai mis le CHMOD 777 sur le 2eme fichier, plus ton test ok, et ca m'indique : pas ok !

Il faut mettre 777 sur le dossier (pas seulement un fichier) qui reçoit le fichier.
0

#13 L'utilisateur est hors-ligne   ZeDevil 

  • Groupe : Hubmaster
  • Messages : 447
  • Inscrit(e) : 05-novembre 04

Posté 21 décembre 2011 - 17:09

J'ai mis le dossier qui reçoit en 777, mais j'ai toujours la même réponse..... 'pas ok'
0

#14 L'utilisateur est en ligne   Aenoa 

  • Groupe : Membre+
  • Messages : 285
  • Inscrit(e) : 28-octobre 10
  • Genre:Homme
  • Localisation:Tournai
  • Société:Je cherche...

Posté 21 décembre 2011 - 17:30

peut tu copier entièrement le code ?
Mon (très petit) site personnel

"Ce n'est pas parce que l'on ne sait pas, que l'on ne peut pas. L'on peut tout apprendre, avec de la motivation."
0

#15 L'utilisateur est hors-ligne   ZeDevil 

  • Groupe : Hubmaster
  • Messages : 447
  • Inscrit(e) : 05-novembre 04

Posté 22 décembre 2011 - 09:10

Oui, bien sur le voilà :

1er fichier :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Envoie de fichiers</title>

</head>

<body>

<table width="800" border="0">
  <tr>
    <td colspan="2" align="center">Pour envoyer un fichier, cliquer sur Parcourir, puis envoyer une fois le fichier selectionné.</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td colspan="2" align="center"><form action="envoie2.php" method="post" enctype="multipart/form-data">
<label for="fichier">Fichier : </label>
<input type="file" id="fichier" name"fichier" />
<input type="submit" value="Envoyer" />
</form></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table>
</body>
</html>



2eme fichier :
<p><a href="envoie.php">Retour</a></p>
<p>&nbsp;</p>
<?php

$fichier = $_FILES['fichier'];
// Vérifications / validation
move_uploaded_file($fichier['tmp_name'], $fichier['name']) or die("pas ok");
echo "ok";


?>

Ce message a été modifié par ZeDevil - 22 décembre 2011 - 15:44.

0

#16 L'utilisateur est hors-ligne   Ernestine 

  • Groupe : Fondatrice
  • Messages : 1 034
  • Inscrit(e) : 21-août 03
  • Genre:Femme

Posté 22 décembre 2011 - 09:48

Voir le messageZeDevil, le 22 décembre 2011 - 09:10, dit :

<input type="file" id="fichier" name"fichier" />

Il manque le = entre name et "fichier".
0

#17 L'utilisateur est hors-ligne   ZeDevil 

  • Groupe : Hubmaster
  • Messages : 447
  • Inscrit(e) : 05-novembre 04

Posté 22 décembre 2011 - 10:01

Tiens comment ca se fait ??! J'ai pourtant fais un copier coller.........merci en tout cas.

Bravo Ernestine, un bisous pour le remerciement ! Image IPB
0

#18 L'utilisateur est en ligne   Aenoa 

  • Groupe : Membre+
  • Messages : 285
  • Inscrit(e) : 28-octobre 10
  • Genre:Homme
  • Localisation:Tournai
  • Société:Je cherche...

Posté 22 décembre 2011 - 14:36

c'était une erreur d'Ernestine :p
Mon (très petit) site personnel

"Ce n'est pas parce que l'on ne sait pas, que l'on ne peut pas. L'on peut tout apprendre, avec de la motivation."
0

#19 L'utilisateur est hors-ligne   Ernestine 

  • Groupe : Fondatrice
  • Messages : 1 034
  • Inscrit(e) : 21-août 03
  • Genre:Femme

Posté 22 décembre 2011 - 14:42

Oui, et j'avais édité mon message une heure ou deux après.

Cela dit, il ne faut jamais se contenter de copier-coller, il faut lire entièrement ce qu'on copie, et le comprendre, sinon, ça ne sert à rien... Un simple coup de validateur aurait permis de relever cette erreur, et aurait ainsi éviter ce long débug.

ZeDevil : la prochaine fois, merci d'utiliser les balises CODE et /CODE pour copier du code.
0

#20 L'utilisateur est hors-ligne   ZeDevil 

  • Groupe : Hubmaster
  • Messages : 447
  • Inscrit(e) : 05-novembre 04

Posté 22 décembre 2011 - 15:43

Oui, Ernestine, je m'en suis rendu compte après que j'aurais mettre dans les balises...... :unsure:
(J'ai corrigé mon erreur ;) :p )

J'ai lu et relu mais la 2eme partie pensant que c'était là d’où venait l'erreur mais en fin de compte, c'était dans la 1ere partie.

En tout cas, merci pour votre aide, comme à chaque fois que je viens, c'est toujours avec plaisir que je vous retrouve.

Ce message a été modifié par ZeDevil - 22 décembre 2011 - 15:45.

0

Partager ce sujet :


  • 2 Pages +
  • 1
  • 2
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)