Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-01-2008
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Question saber extensión de un archivo solo conociendo su nombre

Hola a todos:

Tengo una función que busca la las dimensiones de una imagen

Código PHP:
function obtenerTamanoImagen($prodCod){
/**
* @Autor: Aarón García A.
* @Fecha: 28/01/2008
* @Descripción: Permite recuperar el tamaño de la imagen de un producto
*/

   
$rutaServer $_SERVER['DOCUMENT_ROOT'];
   
$rutaServer .= '/gvm/images/productos/'$prodCod;

   
$tam getimagesize($rutaServer);
   
$posicion strpos($tipoArchivo,'/' );
   
$extension substr($tipoArchivo,$posicion 1);
    
   
$imagen = array('Ancho' => $tam[0],
                          
'Alto'  => $tam[1]);
                         
   return 
$imagen
    


Esta función funciona bien si el parametro viene por ejemplo '000010.jpeg', pero yo no tengo como saber la extensión del archivo por lo tanto falla al momento de usar la función getimagesize, ya que no encuentra el fichero y es obvio ya que la ruta debe ser completa incluído la extensión del fichero para que funcione apropiadamente.

¿Cómo se puede saber la extensión de un fichero pasando como parámetro algo cómo esto 'images/producto/545678'?

545679 es el código del producto y la vez el nombre del archivo, que puede ser de distintos formatos, de ahí que necesito recuperar la extensión del fichero.

Gracias....

Hasta Luego .-
__________________
No todo es como parece ser...
Responder Con Cita
  #2  
Antiguo 29-01-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Hay una función "image_type_to_extension()" para PHP 5. En los comentarios (ver enlace) se muestra alguna alternativa, no obstante. Pero pareciera algo "problemático", según yo lo entiendo, porque, acaso te obligaría a averiguar la existencia de más de un archivo/extensión, como pueda ser ".jpg" y ".jpeg". No sé. ¿Quién decide la extensión? ¿El usuario? Sea como sea, me parece problemático. Y lo único que se me ocurre es incluir la extensión en el "código". ¿Por qué no hacerlo así?
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 29-01-2008
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Cita:
Empezado por dec Ver Mensaje
Hola,

Y lo único que se me ocurre es incluir la extensión en el "código". ¿Por qué no hacerlo así?
No puedo hacerlo así porque hasta ahora pueden ser mas de un formato de imagenes, la función que me dijiste no me sirve porque te pide el tipo de imagen como parámetro.

pero lo he resultado de la siguiente manera.

Código PHP:
function completarRutaArchivo($rutaArchivo){
/**
* @Autor: Aarón García A.
* @Fecha: 29/01/2008
* @Descripcion: Permite completar la ruta de un archivo cuando no se conoce la
*               extensión, pero sí su nombre
*/

    
$ruta = array('jpeg' => $rutaArchivo '.jpeg',
                  
'jpg'  => $rutaArchivo '.jpg',
                      
'png'  => $rutaArchivo '.png');

    if (
file_exists($ruta['jpeg']))
        return 
$ruta['jpeg'];
    elseif (
file_exists($ruta['jpg']))
        return 
$ruta['jpg'];
    elseif (
file_exists($ruta['png']))
        return 
$ruta['png'];


Código PHP:
function obtenerTamanoImagen($prodCod){
/**
* @Autor: Aarón García A.
* @Fecha: 28/01/2008
* @Descripción: Permite recuperar el tamaño de la imagen de un producto
*/

    
$rutaServer $_SERVER['DOCUMENT_ROOT'];
    
$rutaServer .= '/gvm/images/productos/'$prodCod;

    
$rutaArchivo completarRutaArchivo($rutaServer);

    
$tam getimagesize($rutaArchivo);
    
$posicion strpos($tipoArchivo,'/' );
   
$extension substr($tipoArchivo,$posicion 1);

    
$imagen = array('Ancho' => $tam[0],
                    
'Alto'  => $tam[1],
                         
'Ext'   => $extension);

    return 
$imagen;



y ahora puedo llamarlo de la siguiente manera.

Código PHP:
obtenerTamanoImagen('2'); 
Hay que seguir depurando las funciones, ya lo sé , pero ya tengo lo esencial para mi funcionamiento.

Gracias...

Hasta Luego .-
__________________
No todo es como parece ser...
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Extraer solo el nombre de un archivo sin su extencion coyule API de Windows 2 13-01-2007 04:12:01
Como saber si un proceso esta ejecutandose conociendo su nombre? JuanErasmo C++ Builder 1 20-01-2006 16:22:40
Una de paranoias. ¿Que pueden saber de mi solo conociendo mi numero de movil? papulo Humor 12 23-09-2005 09:23:18
Extraer solo nombre de archivo y extensión JODELSA Varios 11 13-07-2005 15:04:09
Quitar extension de nombre de archivo Alejo Varios 2 28-01-2004 20:24:55


La franja horaria es GMT +2. Ahora son las 01:36:51.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi