Ver Mensaje Individual
  #7 (permalink)  
Antiguo 13/11/2006, 20:34
califa010
 
Fecha de Ingreso: enero-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 299
Antigüedad: 18 años, 4 meses
Puntos: 5
Buenas, agregaría que conviene pasar la extensión obtenida a mayúsculas (o a minúsculas) y comparar contra el valor válido en mayúsculas (o mínusculas, según se haya elegido). Dicho así tal vez no sea tan claro, pero con un ejemplo se ve mejor:

script1.sql
script2.SQL
script3.Sql

Los 3 nombres son posibles y (a menos que medie alguna extraña razón), válidos. Pero si se compara el nombre de la extensión contra el string 'sql', sólo el primero pasa la validación. La solución es hacer algo así:

Código PHP:
if (strtolower($extension) == 'sql'
en vez de

Código PHP:
if($extension == 'sql'

Por si a alguno le sirve, les dejo una función simple pero útil para validar cualquier extensión (en la llamada se determina cuál o cuáles son las extensiones válidas para un archivo)

Código PHP:
function validarExtensiones($nombreArchivo,$arrExtValidas) {
    
$extension strtolower(strrchr($nombreArchivo,'.'));
    
    
$valido false;
    
    foreach(
$arrExtValidas as $ext) {
        if (
$extension == $ext) {
            
$valido true;
        }
    }
    
    return 
$valido;
}

// Ejemplo
$arrExtValidas = array('.jpg','.bmp','.gif','.pdf','.jpeg');
$esValido validarExtensiones('alguna_foto.JPg',$arrExtValidas);
var_dump($esValido); 
Suerte
Califa