Foros del Web » Programando para Internet » PHP »

Obtener el nombre del archivo descargado

Estas en el tema de Obtener el nombre del archivo descargado en el foro de PHP en Foros del Web. Hola a todos, Estoy creando un script que descarga un archivo xlsx desde un servidor remoto y lo guarda en el servidor local con el ...
  #1 (permalink)  
Antiguo 09/01/2013, 19:29
 
Fecha de Ingreso: noviembre-2005
Mensajes: 182
Antigüedad: 18 años, 5 meses
Puntos: 4
Obtener el nombre del archivo descargado

Hola a todos,

Estoy creando un script que descarga un archivo xlsx desde un servidor remoto y lo guarda en el servidor local con el mismo nombre de origen, podría guardarlo con otro nombre, pero me interesa saber el nombre original ya que éste contiene la fecha del archivo.

El código que tengo desgarga el archivo y lo guarda en local con el mismo nombre de origen, ¿cómo puedo saber el nombre original del archivo descargado?

Código PHP:
file_put_contents('/downloads/',file_get_contents('http://www.dominio.es/descargas/nombre_original.xlsx')); 
Muchas gracias,
  #2 (permalink)  
Antiguo 09/01/2013, 22:03
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Obtener el nombre del archivo descargado

Si tienes el path de donde vas a descargar en una variable, puedes usar explode para separar y obtener la última parte, y así ya tienes el nombre de la variable que puedes usar .

Saludos.
  #3 (permalink)  
Antiguo 10/01/2013, 05:45
 
Fecha de Ingreso: noviembre-2005
Mensajes: 182
Antigüedad: 18 años, 5 meses
Puntos: 4
Respuesta: Obtener el nombre del archivo descargado

Hola GatorV,

Según está el código que pongo guarda el archivo con el nombre de origen, lo que necesito es saber ese nombre, actualmente lo descarga en la carpeta /downloads/ pero no indico nombre para el fichero de destino para que utilice el de origen.

Muchas gracias
  #4 (permalink)  
Antiguo 10/01/2013, 09:46
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Obtener el nombre del archivo descargado

Entiende lo que te digo, debes de guardar el path en una variable, y usar explode para separarla (o expresiones regulares) para obtener el nombre del archivo y posteriormente usar ya el código que ya tienes para hacer el proceso.

Saludos.
  #5 (permalink)  
Antiguo 10/01/2013, 10:45
 
Fecha de Ingreso: noviembre-2005
Mensajes: 182
Antigüedad: 18 años, 5 meses
Puntos: 4
Respuesta: Obtener el nombre del archivo descargado

¿Cómo guardo el path en una variable?

Gracias
  #6 (permalink)  
Antiguo 10/01/2013, 10:56
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Obtener el nombre del archivo descargado

Lo asignas:
Código PHP:
Ver original
  1. $var = "algo";
  #7 (permalink)  
Antiguo 10/01/2013, 11:06
 
Fecha de Ingreso: noviembre-2005
Mensajes: 182
Antigüedad: 18 años, 5 meses
Puntos: 4
Respuesta: Obtener el nombre del archivo descargado

Si ya, pero lo que no tengo es el nombre del archivo que descargo, por ejemplo:

1.- descargo un archivo de la url: http://www.dominio.es/programacion.xls
2.- a través de ese archivo se descarga un archivo cuyo nombre final es programacion_12-01-2013.xlsx, ese nombre final es el que no sé.

Es decir descargo desde una url un archivo con nombre diferente a la url.

Muchas gracias
  #8 (permalink)  
Antiguo 10/01/2013, 11:59
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Obtener el nombre del archivo descargado

En ese caso no vas a poder usar file_get_contents, si no algo más avanzado como cURL que te permita leer las cabeceras, así vas a poder analizarlas y extraer tanto el nombre del archivo como el contenido al momento de ser generado.

Saludos.

Etiquetas: nombre
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 02:24.