Script upload mp3 ftp

Bonjour,
Sur mon site j'ai créer une page et un dossier "files", cette page contient le code php suivant:

<?php

//--------------------------------------
//  DEFINITION DES VARIABLES
//--------------------------------------

$target     = "files/";  // Repertoire cible
$max_size   = 1000000000;     // Taille max en octets du fichier


$extensions_ok = array("mp3","MP3");

//------------------------------------------------------------
//  DEFINITION DES VARIABLES LIEES AU FICHIER
//------------------------------------------------------------

$nom_file   = $_FILES['fichier']['name'];
$taille     = $_FILES['fichier']['size'];
$tmp        = $_FILES['fichier']['tmp_name'];
$chemin     = $target.$_FILES['fichier']['name'];

$extension  = substr($nom_file,-3); // Récupération de l'extension

//---------------------------
//  SCRIPT D'UPLOAD
//---------------------------

if($_POST['posted'])
{

// On vérifie si le champ est rempli

  if($_FILES['fichier']['name'])
  {
     // On vérifie l'extension du fichier

    if(in_array(strtolower($extension),$extensions_ok))
    {
            
        // On vérifie les dimensions et taille de l'image

        if(($taille <= $max_size))
        {
           // Si c'est OK, on teste l'upload

            if(move_uploaded_file($tmp,$chemin))
            {

              // Si upload OK alors on affiche le message de réussite
                echo '<p>Fichier uploadée avec succès !</p>';
                echo '<ul><li>Fichier : '.$_FILES['fichier']['name'].'</li>';
                echo '<li>Taille : '.$_FILES['fichier']['size'].' Octets</li>';

               
            }
               else
            {

               // Sinon on affiche une erreur système
                echo '<p>Problème lors de l\'upload !</p>';


            }
        }
          else
        {

          // Sinon erreur sur les dimensions et taille de l'image
          echo '<p>Erreur dans la taille du fichier !</p>';
        }
    }
      else
    {

      // Sinon on affiche une erreur pour l'extension
        echo '<p>Votre fichier ne comporte pas une extension valide !</p>';
        
    }
   }
    else
   {

    // Sinon on affiche une erreur pour le champ vide
    echo '<p>Le champ du formulaire est vide !</p>';
   }
}
?>
<html>
<head>
<title>Upload d'un mp3</title>
</head>
<body>
<form enctype="multipart/form-data" action="<?php echo $PHP_SELF; ?>" method="POST">
<p>Envoyer le fichier :</p>
<input type="hidden" name="posted" value="1">
<input name="fichier" type="file">
<input type="submit" value="Uploader">
</form>
</body>
</html> 


Mais quand j'upload un fichier MP3 la page se remet à zéro et je ne trouve aucun fichier mp3 dans le dossier "file" qui est chmoder 777.
d'où ça vient ce problème ?

Merci d'avance
Configuration: Windows XP
Firefox 3.5.2

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bon déterrage de topic mais bon sa peut aidé donc je donne la réponse:
    l'erreur est bête:
    <form enctype="multipart/form-data" action="<?php echo $PHP_SELF; ?>" method="POST">

    php_self n'est pas un fonction, il s'agit d'une variable prédéfinie.
    Ici il faut utiliser $_SERVER qui est un tableau de variables prédéfinies créé par le serveur pour la session en cours.
    ex:<?php echo $_SERVER['PHP_SELF']; ?>

    Résultat:
    <form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">

    Ton code marche très bien une foi cette petite erreur corrigé voila.
    1. Ben c'est qu'il doit pas rentrer dans ta boucle de test sur posted, sinon il aurait dû afficher quelquechose :S

      déjà replace par if(isset($_POST["posted'])), c'est quand même plus propre

      mais ca ne doit pas régler le pblème :S