Ver Mensaje Individual
  #9 (permalink)  
Antiguo 27/09/2006, 18:13
Avatar de seyacat
seyacat
 
Fecha de Ingreso: agosto-2006
Mensajes: 382
Antigüedad: 17 años, 7 meses
Puntos: 0
Si pues el secreto esta en if(strpos ($li,$ext))

aqui un ejemplo donde te hago un arreglo de dos niveles.

<?php
$extensiones = array ( 'jpg', 'png', 'gif' );
$lista = array ( 'foto1.jpg', 'grafica2.gif', 'bolitas.png', 'llanta.png', 'alfo.jpg', 'otro.jpg','este.dec' );

$matriz = array();
foreach($lista as $li){
$existe = 0;
foreach($extensiones as $ext){
if(strpos ($li,$ext)){
$matriz[$ext][]= $li;
$existe = 1;
}
}
if(!$existe){
$matriz["desconocido"][]= $li;
}
}


print_r($matriz);
?>

el problema aqui es que si tienes un achivo que se llame junitojpg.gif vas a tener problemas.
Puedes pare ello buscar no solo la extension sino el ".".$exension
talves un preg_match pueda ayudar si quieres complicarte

<?php
$extensiones = array ( 'jpg', 'png', 'gif' );
$lista = array ( 'foto1.jpg', 'grafica2.gif', 'bolitas.png', 'llanta.png', 'alfo.jpg', 'otro.jpg','este.dec','juanitopng.jpg' );

$matriz = array();
foreach($lista as $li){
$existe = 0;
foreach($extensiones as $ext){
if(preg_match("@[^.]*[\.]{1}$ext@Ux",$li)){
$matriz[$ext][]= $li;
$existe = 1;
}
}
if(!$existe){
$matriz["desconocido"][]= $li;
}
}


print_r($matriz);
?>

Última edición por seyacat; 27/09/2006 a las 18:22