Foros del Web » Programando para Internet » PHP »

Extensiones?

Estas en el tema de Extensiones? en el foro de PHP en Foros del Web. Como puedo ver si un archivo tiene extensión .exe o .txt? y despues extraerle el nombre sin la extensión y luego mostrar el contenido del ...
  #1 (permalink)  
Antiguo 28/05/2003, 16:05
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
Extensiones?

Como puedo ver si un archivo tiene extensión .exe o .txt? y despues extraerle el nombre sin la extensión y luego mostrar el contenido del que sea .txt
Salu2
__________________
Ing. Reynier Pérez Mira
  #2 (permalink)  
Antiguo 28/05/2003, 16:13
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Suponiendo que ya tienes tu nombre de archivo en una variable.. puedes usar substr() .. obten ahí los 3 últimos caracteres de la cadena .. con eso obtedras la extensión del archivo .. y de 0 al total de caracteres de la candena -4 tendras el nombre (el -4 es para incluir al punto) ..

(No te recomiendo usar exploe() al caracter "." (punto) .. por si te tocas con nombres de archivo tipo algo.nose.nose ...)

Con la extensión .. la comparas con un condicional .. para que hagas lo que tengas que hacer ..

¿Leer el archivo? .. pues desde readfile() simplemente hasta file() y algo mas complejo .. dependiendo que quieras hacer ..

El caso es que leas las funciones que puedes usar con cadenas (strings) de www.php.net/manual/es ..

(como veras nuca te doy código a la carta .. Pero es para que empieces a pensar por ti mismo .. La orientación la tienes. Trabaja el código y con dudas puntuales si lo deseas preguntas .. )

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 28/05/2003 a las 16:17
  #3 (permalink)  
Antiguo 29/05/2003, 03:18
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 16 años, 1 mes
Puntos: 5
JEJEJ si podrias hacer un explode() ;) esa funcion te devuelve un array, el ultimo elemento de ese array seria la extension por lo cual si haces:

Código PHP:

$archivo     
"archivo.x.txt";
$extension explode("."$archivo);
$total count($extension);
echo 
"Extension: "$extension[$total-1]; 
Asi consigues la extension sea cual sea su logintud o su numero de caracteres :)

El resto comote dijo cluster, puiedes hacer comparaciones, o usar una estructura tipo switch(){case "txt":break;case "exe":break;}

Para leer el contenido te recomiendo que crees una funcion propia tuya y luego hagas uso de ella en el lugar donde quieras :) es decir en la estructura switch(){}
__________________
Usuario registrado de Linux #288725
  #4 (permalink)  
Antiguo 29/05/2003, 13:06
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Ok, epplestun .. así sí con el explode() y quedandote con el último elemento del array entregado ... (pero no "a secas" xD) ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 29/05/2003, 13:13
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 16 años, 1 mes
Puntos: 5
jeje sisi pero sigue siendo un explode ;) hay k saber k tipo de datos devuelven :) jejeje pero weno seguro k hay por ahi lista alguna funcion que te devuevle la extension, incluso podrias hacerlo con el array $_FILE ya que te da el tipo de fichero si no toy ekivocado :)
__________________
Usuario registrado de Linux #288725
  #6 (permalink)  
Antiguo 29/05/2003, 18:47
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 15 años, 4 meses
Puntos: 8
weno, que yo sepa ninguna funcion te da de una la extencion, pero pathinfo() devuelve un array asociativo con la clave ["extension"].
http://www.php.net/pathinfo

La otra es usar strrchr($variable, ".")
http://www.php.net/strrchr

Saludos!
  #7 (permalink)  
Antiguo 29/05/2003, 20:18
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues me quedo con pathinfo() .. me gustó. (no la conocía .. )

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:35.