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/05/2008, 14h47   #1
Membre régulier
 
Inscription : mars 2008
Messages : 257
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : mars 2008
Messages : 257
Points : 76
Points : 76
Par défaut [Upload] Upload de jpeg avec vérification

Bonjour a tous, j'ai fait un script pour DL des images et pour qu'il verifie que c'est la bonne extension, mais ca ne fonctionne pas correctement.

Si je DL une bonne extension il me dit que l'extension est bonne et me fait ce qui y a dans mon if et si l'extension n'est pas bonne il ne me dit rien sur l'extension et fait quand meme le if au lieu du else et fait meme l'upload..


Avez vous une idée?

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
 
<form method="post" target="contenu" action="traitement_n_membre.php" name="membre" enctype="multipart/form-data">
 
 
<P> Image : <input type="file" name="image" /></p>
 
 
<input type="hidden" name="action" value="ajout_image" />
 
 
 
<INPUT TYPE="submit" VALUE="Ajouter">
 
</form>
 
 
</div>

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
 
switch($_POST['action'])
 
	{
			case "ajout_image" :
 
 
 
 
 
 
				$extensions_valides = array( 'jpg' , 'jpeg' );
				//1. strrchr renvoie l'extension avec le .
				//2. substr(chaine,1) ignore le premier caractère de chaine
				//3. strtolower met l'extension en minuscule
				$extension_upload = strtolower(  substr(  strrchr($_FILES['image']['name'], '.')  ,1)  );
				if ( in_array($extension_upload,$extensions_valides) ) echo "Extension correcte";
 
				{
 
				$image_destination = "../galerie/images/".$_FILES['image']['name'];
				$resultat = move_uploaded_file($_FILES['image']['tmp_name'],$image_destination);
				if ($resultat == true)
 
				{
 
				 echo "Transfert réussi";
 
				$fichier = 'photos.txt';
 
				$contenu = 'images/'.$_FILES['image']['name'].';';
 
				file_put_contents($fichier, $contenu, FILE_APPEND);
 
 
				}
 
				else
 
		{
		echo "Erreur le fichier que vous telecharger n'est pas dans le bon format";
 
		echo '<SCRIPT LANGUAGE="JavaScript">
								function redirect() {
					window.location="edit_galerie.html"
				}
				setTimeout("redirect()",3000); 		  </SCRIPT>';
 
		}
 
 
			}	
 
 
			break;	
 
 
 
 
		}
DjChat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/05/2008, 14h58   #2
Membre actif
 
Inscription : janvier 2008
Messages : 170
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : janvier 2008
Messages : 170
Points : 175
Points : 175
Envoyer un message via MSN à numew
La façon de vérifier l'extension n'est pas bonne, si quelqu'un renomme un fichier en .jpg il passera.

En principe tu récupère ton type de fichier avec ca :

$type=$_FILES['photo']['type'];

puis tu fait la vérif avec :
Code :
1
2
3
4
5
6
7
8
9
 
if(($type!="image/jpeg")&&($type!="image/pjpeg"))
{
//pas bon (le type pjpeg sert pour certaines jpg sur ie si mes souvenirs sont bons.
}
else
{
//c'est la bonne extension
}
numew est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/05/2008, 15h35   #3
Membre régulier
 
Inscription : mars 2008
Messages : 257
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : mars 2008
Messages : 257
Points : 76
Points : 76
Merci, ton code fonctionne bien...


Par contre je comprend pas trop le image/ de ($type!="image/jpeg") a quoi il corespond...
DjChat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/05/2008, 18h26   #4
Membre actif
 
Inscription : janvier 2008
Messages : 170
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : janvier 2008
Messages : 170
Points : 175
Points : 175
Envoyer un message via MSN à numew
En fait c'est juste le nom du format MIME du fichier.
numew est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/05/2008, 20h38   #5
Membre régulier
 
Inscription : mars 2008
Messages : 257
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : mars 2008
Messages : 257
Points : 76
Points : 76
Merci cette info!!!
DjChat 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 01h00.


 
 
 
 
Partenaires

Hébergement Web