Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
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 10/07/2007, 19h37   #1
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 44
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 44
Points : 12
Points : 12
Par défaut [Upload] Dossier upload vide

Bonjour.

J'ai trouvé, adapté et utilise ce script pour "uploader" une page sur mon site perso Free.

Et tout fonctionne bien jusqu'à me dire que le fichier est bien transféré.

Quand je le recherche, il n'est pas présent !

C'est le seul script suite à de nombreux essais qui fonctionne enfin (sauf présence fichier) ! est-ce que cela vient de Free ?

J'ai lu quelque part que ce fichier téléchargé, était effacé à la fin du script !
Que dois-je faire ?

Peut-on m'orienter ? merci à vous.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
 
 <?php
// La variable $_FILES de notre formulaire est-elle créée ?
if (isset($_FILES['feuille_air'])) {
   // Y'a-t-il eu une erreur ?
     if ($_FILES['feuille_air']['error'] == 0) {
         // Afficher les informations
        echo "en ligne!</br>";
        echo "Nom : " . $_FILES['feuille_air']['name'] . "</br>";
        echo "Nom temporaire : " . $_FILES['feuille_air']['tmp_name']."</br>";
        echo "Taille : " . $_FILES['feuille_air']['size'] . "</br>";
        echo "Type : " . $_FILES['feuille_air']['type'] . "</br>";
 
         // Déplacer le fichier temporaire dans un dossier accessible, sous son nom original
         $temporaire = $_FILES['feuille_air']['name'];
         $definitif = "/licencie/calendrier/feuille_air/feuille_air_distribution/" . $_FILES['feuille_air']['name'];
         move_uploaded_file($temporaire, $definitif);
 
         // Informer l'utilisateur
         echo "le fichier a bien été envoyé. Il se trouve à l'adresse ".$definitif ;
 
         }
     // Il y a une erreur...
     else {
         // L'afficher
         echo "Erreur : ".$_FILES['feuille_air']['error']."</br>";
         }
     }
 
 // $_FILES n'est pas créée, donc aucun fichier n'a été envoyé :
 
 // nous affichons le formulaire d'envoi.
 else { ?>
 
<form enctype="multipart/form-data" name="envoi" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" >
  <p>
    <textarea name="message" cols="100" rows="2" id="message" onclick="distribution.disabled=false" >Message réconfortant</textarea>
  </p>
  <p>
 
    Récupère ici, la feuille de plongéees que tu as enregistrée (par défaut sur c:/mes documents/...
/)    
    <input type="hidden" name="MAX_FILE_SIZE" value="1024000" />
    <INPUT TYPE="file" NAME="feuille_air">
  </p>
  <p>
    <input type="submit" name="distribution" value="DISTRIBUTION"  />
  </p>
</form>
 
 <?php
     }
 ?>
zabuze est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2007, 10h07   #2
Membre Expert
 
Avatar de Bidouille
 
Inscription : mars 2003
Messages : 1 158
Détails du profil
Informations forums :
Inscription : mars 2003
Messages : 1 158
Points : 1 054
Points : 1 054
Question de droits ?
__________________
Rédacteur PHP / Delphi ADO / Novell / OpenOffice.org

Inutile de m'envoyer vos questions par MP, je ne réponds que par le forum.
Bidouille est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2007, 16h56   #3
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 44
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 44
Points : 12
Points : 12
est-ce que ça veut dire que je dois trouver une autre méthode !

Est-ce que c'est propre à Free ?

Est-ce que mettre ce fichier sélectionné par un formulaire et déposé dans une table serait l'alternative ?
zabuze est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2007, 17h23   #4
Membre du Club
 
Inscription : mars 2007
Messages : 53
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 53
Points : 47
Points : 47
Salut zabuze,

Pour répondre à ta question OUI même free permet de copier des fichiers.
Mais il y a deux choses qui me perturbe dans ton code
1/ Ton chemin définif
2/ Tu ne test meme pas ton move_uploaded_file

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
 
 
 <?php
// La variable $_FILES de notre formulaire est-elle créée ?
if (isset($_FILES['feuille_air'])) {
   // Y'a-t-il eu une erreur ?
     if ($_FILES['feuille_air']['error'] == 0) {
         // Afficher les informations
        echo "en ligne!</br>";
        echo "Nom : " . $_FILES['feuille_air']['name'] . "</br>";
        echo "Nom temporaire : " . $_FILES['feuille_air']['tmp_name']."</br>";
        echo "Taille : " . $_FILES['feuille_air']['size'] . "</br>";
        echo "Type : " . $_FILES['feuille_air']['type'] . "</br>";
 
         // Déplacer le fichier temporaire dans un dossier accessible, sous son nom original
         $temporaire = $_FILES['feuille_air']['name'];
         $definitif = "licencie/calendrier/feuille_air/feuille_air_distribution" . $_FILES['feuille_air']['name'];
         if exist($definitif){
            if (move_uploaded_file($temporaire, $definitif)){
 
            // Informer l'utilisateur
            echo "le fichier a bien été envoyé. Il se trouve à l'adresse ".$definitif ; 
           }
           else{
	        echo "Le fichier ne s est pas copier correctement veuillez recommencer. Merci ";
           }
        }
        else{
                echo "Repertoire de destination incorrect";
        }	 
         }
     // Il y a une erreur...
     else {
         // L'afficher
         echo "Erreur : ".$_FILES['feuille_air']['error']."</br>";
         }
     }
 
 // $_FILES n'est pas créée, donc aucun fichier n'a été envoyé :
 
 // nous affichons le formulaire d'envoi.
 else { ?>
 
<form enctype="multipart/form-data" name="envoi" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" >
  <p>
    <textarea name="message" cols="100" rows="2" id="message" onclick="distribution.disabled=false" >Message réconfortant</textarea>
  </p>
  <p>
 
    Récupère ici, la feuille de plongéees que tu as enregistrée (par défaut sur c:/mes documents/...
/)    
    <input type="hidden" name="MAX_FILE_SIZE" value="1024000" />
    <INPUT TYPE="file" NAME="feuille_air">
  </p>
  <p>
    <input type="submit" name="distribution" value="DISTRIBUTION"  />
  </p>
</form>
 
 <?php
     }
 ?>


J espere que ce code va marcher

Ste
ste06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2007, 19h16   #5
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 44
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 44
Points : 12
Points : 12
Beaucoup de merci pour ton aide M'sieur.

J'ai fait les modifications que tu m'indiques, mais j'ai une erreur en cours de code :

Message pour le President et le Responsable technique en ligne!
Nom : feuille_air.html
Nom temporaire : /mnt/145/sdb/d/d/masa.plongee/php5eWhNX
Taille : 19901
Type : text/html

Fatal error: Call to undefined function: exist() in /mnt/145/sdb/d/d/masa.plongee/licencie/calendrier/feuille_air/transfert_feuille_air.php on line 42

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
 
<?php
// La variable $_FILES de notre formulaire est-elle créée ?
if (isset($_FILES['feuille_air'])) {
   // Y'a-t-il eu une erreur ?
     if ($_FILES['feuille_air']['error'] == 0) {
         // Afficher les informations
        echo "en ligne!</br>";
        echo "Nom : " . $_FILES['feuille_air']['name'] . "</br>";
        echo "Nom temporaire : " . $_FILES['feuille_air']['tmp_name']."</br>";
        echo "Taille : " . $_FILES['feuille_air']['size'] . "</br>";
        echo "Type : " . $_FILES['feuille_air']['type'] . "</br>";
 
         // Déplacer le fichier temporaire dans un dossier accessible, sous son nom original
         $temporaire = $_FILES['feuille_air']['name'];
         $definitif = "licencie/calendrier/feuille_air/feuille_air_distribution" . $_FILES['feuille_air']['name'];
         if (exist($definitif)){
            if (move_uploaded_file($temporaire, $definitif)){
 
            // Informer l'utilisateur
            echo "le fichier a bien été envoyé. Il se trouve à l'adresse ".$definitif ; 
           }
           else{
	        echo "Le fichier ne s est pas copier correctement veuillez recommencer. Merci ";
           }
        }
        else{
                echo "Repertoire de destination incorrect";
        }	 
         }
     // Il y a une erreur...
     else {
         // L'afficher
         echo "Erreur : ".$_FILES['feuille_air']['error']."</br>";
         }
     }
 
 // $_FILES n'est pas créée, donc aucun fichier n'a été envoyé :
 
 // nous affichons le formulaire d'envoi.
 else { ?>
 
<form enctype="multipart/form-data" name="envoi" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" >
  <p>
    <textarea name="message" cols="100" rows="2" id="message" onclick="distribution.disabled=false" >Message réconfortant</textarea>
  </p>
  <p>
 
    Récupère ici, la feuille de plongéees que tu as enregistrée (par défaut sur c:/mes documents/...
/)    
    <input type="hidden" name="MAX_FILE_SIZE" value="1024000" />
    <INPUT TYPE="file" NAME="feuille_air">
  </p>
  <p>
    <input type="submit" name="distribution" value="DISTRIBUTION"  />
  </p>
</form>
 
 <?php
     }
 ?>
zabuze est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2007, 08h33   #6
Membre du Club
 
Inscription : mars 2007
Messages : 53
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 53
Points : 47
Points : 47
Oui normal je t ai dis une connerie
essaye avec is_dir($chemin)
ste06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2007, 20h09   #7
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 44
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 44
Points : 12
Points : 12
Merci à toi.

J'ai donc fait la modification et épuré un peu...

j'ai aussi essayé de mettre les 2 chemins concernant le temporaire et définitif (en gras), j'ai le même message !

A première vue, mes 2 dossiers sur le serveur free, sont ouvert mais je n'ai rien dedans !

J'ai maintenant ce message d'erreur :

Message pour le President et le Responsable technique en ligne!
Nom : feuille_air.html
Nom temporaire : /mnt/145/sdb/d/d/masa.plongee/php4SgdAz
Taille : 19887
Type : text/html
Ton fichier est bien transféré ..., mais il ne s'est pas copié correctement...recommence ! Merci

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?php
// La variable $_FILES de notre formulaire est-elle créée ?
if (isset($_FILES['feuille_air'])) {
   // Y'a-t-il eu une erreur ?
     if ($_FILES['feuille_air']['error'] == 0) {
         // Afficher les informations
        echo "en ligne!</br>";
        echo "Nom : " . $_FILES['feuille_air']['name'] . "</br>";
        echo "Nom temporaire : " . $_FILES['feuille_air']['tmp_name']."</br>";
        echo "Taille : " . $_FILES['feuille_air']['size'] . "</br>";
        echo "Type : " . $_FILES['feuille_air']['type'] . "</br>";
  
         // Déplacer le fichier temporaire dans un dossier accessible, sous son nom original
         //$temporaire = $_FILES['feuille_air']['name'];
         //$definitif = "licencie/calendrier/feuille_air/feuille_air_distribution" . $_FILES['feuille_air.html']['name'];
         $temporaire = "licencie/calendrier/feuille_air/feuille_air_distribution" .$_FILES['feuille_air.html']['name'];
         $definitif = "licencie/calendrier/feuille_air/feuille_air_stock" . $_FILES['feuille_air.html']['name'];

		 
		 move_uploaded_file($temporaire, $definitif);
		 echo 'Ton fichier est bien transféré ...';
		 
		 if (is_dir($definitif)){    
            // Informer l'utilisateur
            echo 'le fichier a bien été envoyé. Il se trouve à l\'adresse '.$definitif ; 
           }
           else{
	        echo ', mais il ne s\'est pas copié correctement...recommence ! Merci ';
           }	 
         }
    
     }
	  
 // nous affichons le formulaire d'envoi.
 else { ?>
 
<form enctype="multipart/form-data" name="envoi" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" >
  <p>
    <textarea name="message" cols="100" rows="2" id="message" onclick="distribution.disabled=false" >Message réconfortant</textarea>
  </p>
  <p>
	
    Récupère ici, la feuille de plongéees que tu as enregistrée (par défaut sur c:/mes documents/...
/)    
    <input type="hidden" name="MAX_FILE_SIZE" value="1024000" />
    <INPUT TYPE="file" NAME="feuille_air">
  </p>
  <p>
    <input type="submit" name="distribution" value="DISTRIBUTION"  />
  </p>
</form>
 
 <?php
     }
 ?>
zabuze est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2007, 07h55   #8
Membre du Club
 
Inscription : mars 2007
Messages : 53
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 53
Points : 47
Points : 47
Je pense que tes chemins ne sont toujours pas bon

tu mets:
$temporaire = "licencie/calendrier/feuille_air/feuille_air_distribution" .$_FILES['feuille_air.html']['name'];
$definitif = "licencie/calendrier/feuille_air/feuille_air_stock" . $_FILES['feuille_air.html']['name'];

moi je mettrais

$temporaire ="licencie/calendrier/feuille_air/feuille_air_distribution/ ".$_FILES['feuille_air']['name'];
$definitif = "licencie/calendrier/feuille_air/feuille_air_stock/" . $_FILES['feuille_air']['name'];

Tiens moi au courant
ste06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2007, 17h36   #9
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 44
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 44
Points : 12
Points : 12
Bonjour.

J'ai appliqué et j'ai le même résultat :
Message pour le President et le Responsable technique en ligne!
Nom : feuille_air.html
Nom temporaire : /mnt/145/sdb/d/d/masa.plongee/php5zPxCc
Taille : 19887
Type : text/html
Ton fichier est bien transféré ..., mais il ne s'est pas copié correctement...recommence ! Merci
zabuze est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/07/2007, 10h37   #10
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 44
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 44
Points : 12
Points : 12
J'ai trouvé ...
youpi tralala meuh!

Merci

A cette adresse : http://forum.telecharger.01net.com/t...essages-1.html

plus précisément ci dessous le petit texte de l'auteur (merci à l'auteur:
"En fait, quand tu bouge un fichier uploadé, c'est localement donc la en fait, l'adresse qu'il faut mettre c'est
/var/www/free.fr/e/d/cali2lille/conneries/base/
(adresse complète du dossier sur le serveur, on est pas sous windows).

donc la ligne doit être :
move_uploaded_file($_FILES['...'],'/var/www/free.fr/e/d/cali2lille/conneries/base/')
zabuze est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h33.


 
 
 
 
Partenaires

Hébergement Web