IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

upload en erreur uniquement pour les mp3


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2010
    Messages : 4
    Points : 4
    Points
    4
    Par défaut upload en erreur uniquement pour les mp3
    Bonjour tout le monde !

    Je suis vraiment désespéré... J'ai créer un script de upload à l'aide d'un tutoriel, il fonctionne parfaitement sauf pour les mp3, ce pourquoi j'ai suivi ce tutoriel...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <?php
     
    //changement de la taille dans le php.ini
    	$new_size = '100M';
    	$new_limit = '100M';
    	@ini_set('post_max_value',$new_limit);
    	@ini_set('upload_max_filesize',$new_size);
     
    //propriétés du fichier uploader
    	//nom du fichier uploader	
    	$nomFichier 		= $_FILES['fichier']['name'];
    	//type du fichier uploader
    	$typeFichier 		= $_FILES['fichier']['type'];
    	//grosseur du fichier uploader
    	$sizeFichier 		= $_FILES['fichier']['size'];
    	//dossier temporaire
    	$tempFichier 		= $_FILES['fichier']['tmp_name'];
    	//erreurs
    	$erreurs	 		= $_FILES['fichier']['error'];
    	echo $typeFichier;
    //dossier de destination 
    	$destination		= "uploaded/";
     
    //condition
    	$typeVoulu			= 'audio/mpeg';
    	$sizeVoulu			= 300000000;
     
     
    //regarder si il y a des erreurs
    	if($erreurs > 0){
    		die('incapable de televerser le fichier! Code '.$erreurs);
    	}else{
    	//condition pour uploader le fichier
    		//regarder le type de fichier
    		if($typeFichier == $typeVoulu){ 
    			//regarder la grosseur du fichier
    			if($sizeFichier <= $sizeVoulu){
    				move_uploaded_file($tempFichier, $destination.$nomFichier);
    				echo $sizeFichier;
    				echo "Televersement complet";
    			}else{
    				echo $sizeFichier;
    				die('Grosseur du fichier incorrect !');
    			}
    		}else{
    			echo $typeFichier;
    			die('Type de fichier incorrect !');
    		}
    	}
     
     
    ?>
    Lorsque je upload un mp3, il dit que le type de fichier est incorrecte et le "echo $typeFichier;" ne m'affiche aucun type de fichier...

    Voici mon code... Merci d'avance pour votre aide !

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 72
    Points : 88
    Points
    88
    Par défaut
    Bonjour,

    cela est normal, le retour sur le type d'un mp3 renvoi un champs vide dans ce genre de script.

    if faut que tu procède de cette facon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $ext = substr($_FILES['fichier']['name'],-3,3); 
     
    if($ext != 'mp3') {
     //ce qu'il faut faire ;)
    }
    sinon tu peux aussi utiliser autre chose (APC par exemple)

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2010
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Et comment je peux verifier un array d'extension complet avec ta méthode ? en passant elle est géniale

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2010
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    sur mon wamp il prend le code mais pas sur le serveur...

    Comment puis-je faire ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <?php
     
    //propriétés du fichier uploader
    	//nom du fichier uploader	
    	$nomFichier 		= $_FILES['fichier']['name'];
    	//type du fichier uploader
    	$typeFichier 		= $_FILES['fichier']['type'];
    	//grosseur du fichier uploader
    	$sizeFichier 		= $_FILES['fichier']['size'];
    	//dossier temporaire
    	$tempFichier 		= $_FILES['fichier']['tmp_name'];
    	//erreurs
    	$erreurs	 		= $_FILES['fichier']['error'];
    	echo $typeFichier;
    //dossier de destination 
    	$destination		= "uploads/";
     
    //condition
    	$typeVoulu			= 'mp3';
    	$extension			= substr($_FILES['fichier']['name'],-3,3);
    	$sizeVoulu			= 40000000;
     
     
    //regarder si il y a des erreurs
    	if($erreurs > 0){
    		die('incapable de televerser le fichier! Code '.$erreurs);
    	}else{
    	//condition pour uploader le fichier
    		//regarder le type de fichier
    		if($extension == $typeVoulu){
    			//regarder la grosseur du fichier
    			if($sizeFichier <= $sizeVoulu){
    				move_uploaded_file($tempFichier, $destination.$nomFichier);
    				echo $sizeFichier;
    				echo "Televersement complet";
    			}else{
    				echo $sizeFichier;
    				die('Grosseur du fichier incorrect !');
    			}
    		}else{
    			echo $typeFichier;
    			die('Type de fichier incorrect !');
    		}
    	}
     
     
    ?>

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 99
    Points : 127
    Points
    127
    Par défaut
    Bonjour,

    En utilisant la méthode de larffas68, tu peux faire un truc comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    //ici tu récupères de manière dynamique l'extension du fichier, peu importe
    //le nombre de lettres pour l'extension
    list($fichier, $extension) = explode(".", $_FILES['fichier']['name']);
    //le type est ensuite assigné par l'extension
    $_FILES['fichier']['type'] = $extension;
     
    //propriétés du fichier uploader
    	//nom du fichier uploader	
    	$nomFichier 		= $_FILES['fichier']['name'];
    	//type du fichier uploader
    	$typeFichier 		= $_FILES['fichier']['type'];
    	//grosseur du fichier uploader
    	$sizeFichier 		= $_FILES['fichier']['size'];
    	//dossier temporaire
    	$tempFichier 		= $_FILES['fichier']['tmp_name'];
    	//erreurs
    	$erreurs	 		= $_FILES['fichier']['error'];
    	echo $typeFichier;
    //dossier de destination 
    	$destination		= "uploads/";
     
    //condition
    	$typeVoulu			= 'mp3';
    	$extension			= substr($_FILES['fichier']['name'],-3,3);
    	$sizeVoulu			= 40000000;
     
     
    //regarder si il y a des erreurs
    	if($erreurs > 0){
    		die('incapable de televerser le fichier! Code '.$erreurs);
    	}else{
    	//condition pour uploader le fichier
    		//regarder le type de fichier
    		if($extension == $typeVoulu){
    			//regarder la grosseur du fichier
    			if($sizeFichier <= $sizeVoulu){
    				move_uploaded_file($tempFichier, $destination.$nomFichier);
    				echo $sizeFichier;
    				echo "Televersement complet";
    			}else{
    				echo $sizeFichier;
    				die('Grosseur du fichier incorrect !');
    			}
    		}else{
    			echo $typeFichier;
    			die('Type de fichier incorrect !');
    		}
    	}
     
     
    ?>
    J'espère que ca pourra t'aider

Discussions similaires

  1. Effectuer des calculs uniquement pour les champs numériques
    Par Daniel MOREAU dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 25/02/2008, 01h26
  2. [C#] Format unique pour les mêmes affichages ?
    Par luimême dans le forum ASP.NET
    Réponses: 3
    Dernier message: 22/11/2005, 17h32
  3. Y a t il un format unique pour les hd portables
    Par von_magnus dans le forum Composants
    Réponses: 6
    Dernier message: 27/09/2005, 18h38
  4. [ODBC] erreur SQL pour les unions qui renvoient vide
    Par fabriceMerc dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 25/11/2003, 11h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo