fonction qui marche pas

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : fonction qui marche pas

par Ryle » 30 nov. 2006, 10:47

Bon aller, je tente ma chance...
function is_jpg ($file) 
{ 
return substr($file,-3) == "JPG"; 
} 
Cette fonction retourne vrai si les 3 dernier caractère de $file sont "JPG" en majuscule... elle retourne donc faux pour gif, png, .... de même que pour jpg, JpG, jPg, jpeg

Un p'tit coup de strToUpper() sur la chaine à comparer ? voire prendre en compte le possible jpEg, ou se baser sur le type mime plutot que l'extension ? ;)

Par ailleurs, je te recommande d'indenter et d'aérer ton code (ça ne le rendra que plus lisible :)) et éventuellement de le commenter d'avantage (ça ne le rendra que plus compréhensible, pour nous, mais aussi pour toi quand on te demanderas une modification mineure dans 6 mois ;))

par Truc » 29 nov. 2006, 23:36

Car tu appelle ta fonction...dans ta fonction à appeller.. :wink:
Récursivité :)

Pour la question.... on à le droit à des indices, genre : "un message d'erreur", "résulat obtenu", identifier une ligne qui peut poser souci...

par DocType » 29 nov. 2006, 22:36

Car tu appelle ta fonction...dans ta fonction à appeller.. :wink:

fonction qui marche pas

par SiSi231 » 29 nov. 2006, 20:14

Voici le code en question :

Code : Tout sélectionner

function is_jpg ($file) { return substr($file,-3) == "JPG"; } function concatene ($t1,$t2) {//concatène deux tableaux if ((count ($t1) ==0) and (count ($t2)==0)) return false; if ((count ($t1) ==0) and (count ($t2)!=0)) return $t2; if ((count ($t1) !=0) and (count ($t2)==0)) return $t1; for ($i==0; $i<=count($t1); $i++) $tr[] = $t1($i); for ($i==0; $i<=count($t2); $i++) $tr[] = $t2($i); return $tr; } function jpg_list ($dir) { // renvoit l'ensemble des fichiers JPG contenus dans $dir et ses sous-dossiers $rrep = opendir ($dir); while (false!= ($ffile = readdir($rrep))) { if (is_jpg($ffile)) $list_files[] = $ffile; elseif (is_dir($ffile)) { if (!isset ($list_files)) $tt = jpg_list($ffile); else $tt=concatene($list_files,jpg_list($ffile)); if ($tt != false) $list_files = $tt; } } closedir ($rrep); return $list_files; }
et ma question : pourquoi jpg_list ne marche pas ?