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 13/12/2010, 01h27   #1
Invité de passage
 
Mike Boutin
Inscription : novembre 2010
Messages : 4
Détails du profil
Informations personnelles :
Nom : Mike Boutin

Informations forums :
Inscription : novembre 2010
Messages : 4
Points : 0
Points : 0
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 :
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 !
mikhellqc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2010, 11h29   #2
Membre régulier
 
Laurent S.
Inscription : novembre 2010
Messages : 71
Détails du profil
Informations personnelles :
Nom : Laurent S.
Âge : 25
Localisation : France

Informations forums :
Inscription : novembre 2010
Messages : 71
Points : 77
Points : 77
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 :
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)
larffas68 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 13/12/2010, 23h54   #3
Invité de passage
 
Mike Boutin
Inscription : novembre 2010
Messages : 4
Détails du profil
Informations personnelles :
Nom : Mike Boutin

Informations forums :
Inscription : novembre 2010
Messages : 4
Points : 0
Points : 0
Et comment je peux verifier un array d'extension complet avec ta méthode ? en passant elle est géniale
mikhellqc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2010, 00h06   #4
Invité de passage
 
Mike Boutin
Inscription : novembre 2010
Messages : 4
Détails du profil
Informations personnelles :
Nom : Mike Boutin

Informations forums :
Inscription : novembre 2010
Messages : 4
Points : 0
Points : 0
sur mon wamp il prend le code mais pas sur le serveur...

Comment puis-je faire ?

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
<?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 !');
		}
	}
 
 
?>
mikhellqc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2010, 08h45   #5
Membre régulier
 
Inscription : avril 2009
Messages : 83
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 83
Points : 96
Points : 96
Bonjour,

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

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
//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
anthony89 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h32.


 
 
 
 
Partenaires

Hébergement Web