begin process at 2012 05 31 12:20:05
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

probleme de boucle for


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probleme de boucle for

jeudi 22 janvier 2004 à 18:14:05 | probleme de boucle for

funbidule


bonjour a tous,
j'ai un petit probleme dans un programme:
<? php
session_start();
echo " fichier: $nom_fichier";

$extention_autorize="jpg|jpe|gif|bmp|pdf|php";
$poids_max_en_octet="20000";
?>
if ($nom_fichier))
{
$nom_origine=$nom_fichier;
$extention_fichier=substr(strrchr($nom_fichier,'.'),1);
$ext=explode("|", $extention_autorize);
for ($cpt=0; $cpt<(count($ext)); $cpt++)
{
if ($extention_fichier==$ext[$cpt])
{
$autorize="ok";
}
else
{
$autorize=" pas ok";
}
}
}

echo" autorisé: $autorize ";
?>

je sais que ca vient de la boucle for mais je sais pas ou!
jeudi 22 janvier 2004 à 18:47:17 | Re : probleme de boucle for

Tomcube

En fait ta boucle est un peu mal faite.
En effet, si ton extension est "jpg", après la première analyse (celle du jpg), $autorize va avoir la valeur "ok" mais la boucle continue, et le test va de nouveau s'effectué avec "jpe" mais comme jpg != jpe, $autorize va changer sa valeur en " pas ok" ... donc je te conseille pour pas a devoir changer plus de choses, mettre break; juste en dessous de $autorize = "ok".
Ensuite, pour la récupération de l'extension fichier, si ton fichier s'appelle "blabla.autretruc.jpg" le substr va retourner "autretruc.jpg" et le test va être faux ! ^^
JE te conseille donc de récupérer l'extension de la manière suivante :


$nom_fichier_split = explode(".", $nom_fichier);
$extension = array_pop($nom_fichier_split);


-------------------------------
Life is a game, Enjoy ! ^^
jeudi 22 janvier 2004 à 19:18:14 | Re : probleme de boucle for

funbidule


Le fichier ne marche pas toujours mais je suis ok sur les erreurs signalées et je t'en remercie!
Pour t'aider voici le fichier précedent:
<?php
session_start();
?>

<form name="form1" method="post" action="upload.php" enctype="multipart/form-data">
<input name="nom_fichier" type="file">
<br>
<input type="submit" name="Submit" value="Ajouter la photo" class="bouton">


</form>
<?
session_register(nom_fichier);
?>

puis le fichier qui bug:
<?php
session_start();
echo " fichier: $nom_fichier";
header("Cache-Control: no-cache, must-revalidate");
$extention_autorize="jpg|jpe|gif|bmp|pdf|php";
$poids_max_en_octet="20000";
?>
if ($nom_fichier))
{

$nom_origine=$nom_fichier;
$nom_fichier_split = explode(".", $nom_fichier);
$ext= array_pop($nom_fichier_split);

for ($cpt=0; $cpt<(count($ext)); $cpt++)
{
if ($extention_fichier==$ext[$cpt])
{
$autorize="ok";
break;
}
else
{
$autorize=" pas ok";
}
}
}

echo" autorisé: $autorize ";
?>
merci de ton aide en tout cas
jeudi 22 janvier 2004 à 20:37:16 | Re : probleme de boucle for

davwart


juste une remarque:
ton explode retourne un tableau.
la fonction in_array(element, tableau) permet de tester si element est dans le tableau.

c'est + propre ;)
jeudi 22 janvier 2004 à 22:11:41 | Re : probleme de boucle for

Tomcube

Le in_array est dangereux pour voir si l'extension est bonne.
par exemple un fichier s'appelant jpg.exe passera ^^ !
Par contre pour que tu refasses le tableau des extensions dispos et que tu réussis à avoir l'extension avec la fonction que je t'ai filé, c'est vrai que c'est plus propre.

Pour un code encore meilleur, utiliser la variable $_FILES["nom_fichier"]["type"] est le must ! Elle contient une valeur de type MIME ("image/gif", "image/jpg" etc ...).

-------------------------------
Life is a game, Enjoy ! ^^


Cette discussion est classée dans : fichier, boucle, probleme, for, extention


Répondre à ce message

Sujets en rapport avec ce message

boucle for next ? [ par Bzzip ] Bonjourje voudrais juste savoir s'il existe des boucles For Next en php et si oui quelle en est la syntaxeMerciBzzip probleme upload [ par nicographx ] J'ai un gros probleme pour l'upload de fichier :mon formulaire fonctionne amerveille, mais dès que je l'insere dans un tableau, plus rien ne fonctionn probleme de variable [ par ji-m ] HellO tlm,voila jai un petit soucis, je voudrais créer des variables dans une boucle for :for($i=0;$i$test=$societe1.'_'.$i;print $test;} il me retour probleme fichier [ par Clonk ] Bonjour,j'utilise des fichiers dans mon site et j'ai un problème avec (non, je peux pas faire sans...):lorsque je veux supprimer une ou plusieurs lign Probleme de fichier pour upload [ par ben01n ] salut je selectionne un fichier avec un champ file () puis je récupère la variable $Fichier envoyée par post dans la page suivante pour l'utiliser dan Problème de boucle [ par SiNeDeNiS ] Bonjour à tous et chacun !! Voila le bobo .. Je possède une table MySQL avec plusieur enregistrement ..A l'aide d'une boucle "for" je fait afficher le IP/Fichier.txt: Probleme FOPEN [ par skurvy ] Voila mon problem:$ip= $_SERVER["REMOTE_ADDR"];// Adresse ip$b= "";// pour nouvelle ligne$chat = file("http://".$ip."/chat.txt"); //ouvre le fichier$d probleme de génération de fichier [ par linkwang ] Bonjour,J'ai un problème, et je suis sure que quelqu'un pourra m'aider...j'ai besoin de générer un fichier text, contenant des données structurées, po probleme parcours fichier [ par TRASH52 ] TRASH52En fait j'ai testé des trucs avec les fonctions chdir, mkdir mais je n'arrive pas à voir ou je me situe!j'aimerai si possible, qu'on probleme conversion HTML -> Texte -> HTML [ par Cho7Kipu ] Coucou tt le monde !Bon alors j'explik mon probleme :J'ai fait un site de partition. Pour que mon moteur puisse rechercher des mots contenu dans une d


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,328 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales