[PHP] Upload pour un type de fichier ^^
Fermé
marina26
Messages postés
4
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
22 janvier 2007
-
22 janv. 2007 à 09:54
komar_666 - 25 févr. 2008 à 20:55
komar_666 - 25 févr. 2008 à 20:55
A voir également:
- [PHP] Upload pour un type de fichier ^^
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Ouvrir un fichier .bin - Guide
- Fichier host - Guide
5 réponses
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
22 janv. 2007 à 11:01
22 janv. 2007 à 11:01
C'est parce que strstr respecte la casse et tu as mis : "RAR" et non "rar", pour le coup ca ne fonctionne pas :)
Mais sinon je te conseil plutot de faire ainsi :
car dans ton exemple si je met le fichier suivante : totorar ca passera alors que ca ne devrait pas.
Mais sinon je te conseil plutot de faire ainsi :
$tab = explode(".",$file); if ( tab[1] && tab[1] != "rar" ){ echo "Mauvais fichier"; }
car dans ton exemple si je met le fichier suivante : totorar ca passera alors que ca ne devrait pas.
marina26
Messages postés
4
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
22 janvier 2007
22 janv. 2007 à 11:08
22 janv. 2007 à 11:08
flute, en faite j'avais essayé aussi de metre en minuscul mais même si j'écris :
if( !strstr($type_file, 'rar') )
{
exit("Le fichier ne correspond pas");
}
Il m'affice mon message d'erreur.
Peu être que le strstr ne prend pas en compte le rar ?
je vais regarder la seconde solution.
Merci beaucoup pour votre aide ^^.
if( !strstr($type_file, 'rar') )
{
exit("Le fichier ne correspond pas");
}
Il m'affice mon message d'erreur.
Peu être que le strstr ne prend pas en compte le rar ?
je vais regarder la seconde solution.
Merci beaucoup pour votre aide ^^.
marina26
Messages postés
4
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
22 janvier 2007
22 janv. 2007 à 11:19
22 janv. 2007 à 11:19
Super merci beaucoup, tout fonctionne à merveille.
( petite parenthèse pour ceux qui débute comme moi, il faut rajouter les $ devant tab )
merci kij ralalala c'est super.
Bonne journée a tous.
Marina
( petite parenthèse pour ceux qui débute comme moi, il faut rajouter les $ devant tab )
merci kij ralalala c'est super.
Bonne journée a tous.
Marina
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
22 janv. 2007 à 11:19
22 janv. 2007 à 11:19
Le hic avec la solution que je t'ai proposé (elle fonctionne c'est pas le souvis) c'est que si tu as un fichier nommé de la facon suivante :
"bibi.tutu.rar"
le fichier ne passera pas la validation car tab[1] vaudra "tutu".
Donc petite modification si tu souhaite que ton script soit efficace un maximum, c'est non plus de faire le test sur tab[1] mais sur tab[taille].
Donc comme suit :
"bibi.tutu.rar"
le fichier ne passera pas la validation car tab[1] vaudra "tutu".
Donc petite modification si tu souhaite que ton script soit efficace un maximum, c'est non plus de faire le test sur tab[1] mais sur tab[taille].
Donc comme suit :
$tab = explode('.',$file_name); $ext = "rar"; $size = count($tab); if ( tab[size-1] && $tab[size-1] != $ext ) echo "Mauvais fichier";
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
marina26
Messages postés
4
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
22 janvier 2007
22 janv. 2007 à 11:24
22 janv. 2007 à 11:24
Encore mieux Merci beaucoup.
^^
Décidement, on peut en fair des choses en php !!
^^
Décidement, on peut en fair des choses en php !!
Salut, j'ai eu le meme probleme que toi, et je viens de decouvrir que dans le $_FILES['upload']['type'] il n'y a pas de rar, pour un fichier rar! Heu oué chelou!!
Pour un fichier rar:
$_FILES['upload']['type'] == application/octet-stream (Ne contiens pas rar)
Donc si tu fais test sur les carateres "rar" ca ne peux pas marcher car ils n'y sont pas!
Pour un fichier zip:
$_FILES['upload']['type'] == application/x-zip-compressed (Contiens zip)
Dans ce cas la ca marche car zip y est!
J'ai donc modifier rar par -->stream
$type_file = $_FILES['upload']['type'];
{
if( !strstr($type_file, 'stream') && !strstr($type_file, 'zip'))
{$erreur = 'only type .rar ou .zip';}................
++ ^^
Pour un fichier rar:
$_FILES['upload']['type'] == application/octet-stream (Ne contiens pas rar)
Donc si tu fais test sur les carateres "rar" ca ne peux pas marcher car ils n'y sont pas!
Pour un fichier zip:
$_FILES['upload']['type'] == application/x-zip-compressed (Contiens zip)
Dans ce cas la ca marche car zip y est!
J'ai donc modifier rar par -->stream
$type_file = $_FILES['upload']['type'];
{
if( !strstr($type_file, 'stream') && !strstr($type_file, 'zip'))
{$erreur = 'only type .rar ou .zip';}................
++ ^^