Upload de fichier

Résolu
Abdoul Karim Kader Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   -  
Abdoul Karim Kader Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir
J'ai un formulaire d'upload de fichier qui fonctionne bien en local mais uniquement avec Google chrome. internet explorer et firefoxe m'envoie l'erreur concernant le type de fichier a savoir "ce fichier n'est pas de type reconnu par notre serveur"
voici mes code

Fichier html ou le formulaire
<form method="post" enctype="multipart/form-data" action="upload.php">
<p>
<input type="hidden" name="MAX_FILE_SIZE" value="50000000">
<input type="file" name="fichier" size="30">
<input type="submit" name="upload" value="Uploader">
</p>
</form>


Fichier php nommer upload
<?php

if( isset($_POST['upload']) ) // si formulaire soumis
{
    $content_dir = 'upload/'; // dossier où sera déplacé le fichier

    $tmp_file = $_FILES['fichier']['tmp_name'];

    if( !is_uploaded_file($tmp_file) )
    {
        exit("Le fichier est introuvable réessayer!");
    }

    // on vérifie maintenant l'extension
    $type_file = $_FILES['fichier']['type'];

    if( !strstr($type_file, 'mp3') && !strstr($type_file, 'amr') && !strstr($type_file, 'wav') && !strstr($type_file, 'wma') )
    {
        exit("Le fichier n'est pas de type audio reconnu par notre Serveur.");
    }

    // on copie le fichier dans le dossier de destination
    $name_file = $_FILES['fichier']['name'];
$elementsChemin = pathinfo($name_file);
$extensionFichier = $elementsChemin['extension'];
$nomDestination = "fichier_du_".date("YmdHis").".".$extensionFichier;
    if( !move_uploaded_file($tmp_file, $content_dir . $nomDestination) )
    {
        exit("Impossible de copier le fichier dans notre dossier $content_dir");
    }

    echo "Le fichier a bien été envoyer sur le Serveur de islam.bf";
}

?>


A voir également:

2 réponses

le père
 
Bonjour

regarde
http://www.php.net/manual/fr/features.file-upload.post-method.php

tu verras que $_FILES['fichier']['type']; rend le type MIME du fichier. Ce n'est pas forcément l'extension.
Si tu veux savoir quelle valeur te renvoient les autres navigateurs, fais un echo $type_file;
Si tu veux vraiment vérifier l'extension, fais plutôt :
    $type_file = strtolower($_FILES['fichier']['name']);
    if( (substr($type_file,-4) != '.mp3') && (substr($type_file, -4) !='.amr') && (substr($type_file,-4)!= '.wav') && (substr($type_file,-4!= '.wma') )...
0
Abdoul Karim Kader Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
Merci ça marche très bien suis novice en php
je tente à présent de contrôler la taille du fichier et de gérer son erreur si la taille est dépasser.
Merci de me donner l'astuce
0