Foros del Web » Programando para Internet » PHP »

obtener nombre de un archivo a descargar

Estas en el tema de obtener nombre de un archivo a descargar en el foro de PHP en Foros del Web. hola estoy buscando la manera de poder obtener el nombre de un archivo a descargar de una direccion url, esto es lo que he podido ...
  #1 (permalink)  
Antiguo 13/06/2011, 00:09
 
Fecha de Ingreso: mayo-2011
Mensajes: 53
Antigüedad: 13 años
Puntos: 0
obtener nombre de un archivo a descargar

hola estoy buscando la manera de poder obtener el nombre de un archivo a descargar de una direccion url, esto es lo que he podido reunir de lo que he encontrado pero aun no logro hacer que solo ponga el nombre

Código PHP:
$url "http://software-files-l.cnet.com/s/software/11/90/44/77/TeamViewer_Setup.exe?e=1307951605&h=c6292a895d5ac7cffff6961caac5645d&lop=link&ptype=1901&ontid=7240&siteId=4&edId=3&spi=e51a669e6b7a1b941ede7221052ce5dd&pid=11904477&psid=10398150&fileName=TeamViewer_Setup.exe";
$filename basename($url);
echo 
$filename

Última edición por tsueseres; 13/06/2011 a las 01:00
  #2 (permalink)  
Antiguo 13/06/2011, 06:55
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: obtener nombre de un archivo a descargar

Trata con parse_url
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 13/06/2011, 17:52
 
Fecha de Ingreso: mayo-2011
Mensajes: 53
Antigüedad: 13 años
Puntos: 0
Respuesta: obtener nombre de un archivo a descargar

Cita:
Iniciado por abimaelrc Ver Mensaje
Trata con [URL="http://php.net/manual/en/function.parse-url.php"]parse_url[/URL]
no logro hacer que funcione, encontre este ejemplo en internet pero creo que tiene un error

Código PHP:
$url "http://software-files-l.cnet.com/s/software/11/90/44/77/TeamViewer_Setup.exe?e=1307951605&h=c6292a895d5ac7cffff6961caac5645d&lop=link&ptype=1901&ontid=7240&siteId=4&edId=3&spi=e51a669e6b7a1b941ede7221052ce5dd&pid=11904477&psid=10398150&fileName=TeamViewer_Setup.exe"
$urlAry parse_url ($url); 
$fileName basename ($urlAry 'path' => ".html");

 
eco $filename
tambien trate con pathinfo pero no logra obtener solo el nombre
  #4 (permalink)  
Antiguo 13/06/2011, 18:02
marcofbb
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: obtener nombre de un archivo a descargar

Código PHP:
Ver original
  1. <?php
  2. $url = 'http://software-files-l.cnet.com/s/software/11/90/44/77/TeamViewer_Setup.exe?e=1307951605&h=c6292a895d5ac7cffff6961caac5645d&lop=link&ptype=1901&ontid=7240&siteId=4&edId=3&spi=e51a669e6b7a1b941ede7221052ce5dd&pid=11904477&psid=10398150&fileName=TeamViewer_Setup.exe';
  3.  
  4. $url = parse_url($url, PHP_URL_PATH);
  5.  
  6. $name = explode("/",$url);
  7. $i = count($name) - 1;
  8. echo $name[$i];
  9. ?>

Lo unico malo de esto es que siempre en el patch de la url debe tener el nombre del archivo al final
  #5 (permalink)  
Antiguo 13/06/2011, 18:34
 
Fecha de Ingreso: mayo-2011
Mensajes: 53
Antigüedad: 13 años
Puntos: 0
Respuesta: obtener nombre de un archivo a descargar

Cita:
Iniciado por marcofbb Ver Mensaje
Código PHP:
Ver original
  1. <?php
  2. $url = 'http://software-files-l.cnet.com/s/software/11/90/44/77/TeamViewer_Setup.exe?e=1307951605&h=c6292a895d5ac7cffff6961caac5645d&lop=link&ptype=1901&ontid=7240&siteId=4&edId=3&spi=e51a669e6b7a1b941ede7221052ce5dd&pid=11904477&psid=10398150&fileName=TeamViewer_Setup.exe';
  3.  
  4. $url = parse_url($url, PHP_URL_PATH);
  5.  
  6. $name = explode("/",$url);
  7. $i = count($name) - 1;
  8. echo $name[$i];
  9. ?>

Lo unico malo de esto es que siempre en el patch de la url debe tener el nombre del archivo al final
hola, si me funciono muchas gracias pero tengo una duda como le hiciste para que no te agarrara toda la linea como nombre o si me pudieras explicar tu codigo.
  #6 (permalink)  
Antiguo 13/06/2011, 18:36
marcofbb
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: obtener nombre de un archivo a descargar

Ahi te lo explico, ¿para que va a usar esto? porque solo anda como aclare anteriormente con url que tienen el nombre del archivo al final y en el patch

Código PHP:
Ver original
  1. <?php
  2.  
  3. //-> ESTA ES LA URL A PARSEAR
  4. $url = 'http://software-files-l.cnet.com/s/software/11/90/44/77/TeamViewer_Setup.exe?e=1307951605&h=c6292a895d5ac7cffff6961caac5645d&lop=link&ptype=1901&ontid=7240&siteId=4&edId=3&spi=e51a669e6b7a1b941ede7221052ce5dd&pid=11904477&psid=10398150&fileName=TeamViewer_Setup.exe';
  5.  
  6. // PARSEAMOS LA URL Y SOLO AGARRAMOS EL PATCH
  7. $url = parse_url($url, PHP_URL_PATH);
  8. // $url =  s/software/11/90/44/77/TeamViewer_Setup.exe
  9.  
  10. // buscamos cada "/" y creamos un array con los bloques
  11. $name = explode("/",$url);
  12. // Contamos cuantos bloques hay y le restamos uno ya que empieza desde el 0 y no el 1
  13. $i = count($name) - 1;
  14. // imprimimos el ultimo bloque de s/software/11/90/44/77/TeamViewer_Setup.exe osea TeamViewer_Setup.exe
  15. echo $name[$i];
  16. ?>
  #7 (permalink)  
Antiguo 13/06/2011, 19:11
 
Fecha de Ingreso: mayo-2011
Mensajes: 53
Antigüedad: 13 años
Puntos: 0
Respuesta: obtener nombre de un archivo a descargar

Cita:
Iniciado por marcofbb Ver Mensaje
Ahi te lo explico, ¿para que va a usar esto? porque solo anda como aclare anteriormente con url que tienen el nombre del archivo al final y en el patch

Código PHP:
Ver original
  1. <?php
  2.  
  3. //-> ESTA ES LA URL A PARSEAR
  4. $url = 'http://software-files-l.cnet.com/s/software/11/90/44/77/TeamViewer_Setup.exe?e=1307951605&h=c6292a895d5ac7cffff6961caac5645d&lop=link&ptype=1901&ontid=7240&siteId=4&edId=3&spi=e51a669e6b7a1b941ede7221052ce5dd&pid=11904477&psid=10398150&fileName=TeamViewer_Setup.exe';
  5.  
  6. // PARSEAMOS LA URL Y SOLO AGARRAMOS EL PATCH
  7. $url = parse_url($url, PHP_URL_PATH);
  8. // $url =  s/software/11/90/44/77/TeamViewer_Setup.exe
  9.  
  10. // buscamos cada "/" y creamos un array con los bloques
  11. $name = explode("/",$url);
  12. // Contamos cuantos bloques hay y le restamos uno ya que empieza desde el 0 y no el 1
  13. $i = count($name) - 1;
  14. // imprimimos el ultimo bloque de s/software/11/90/44/77/TeamViewer_Setup.exe osea TeamViewer_Setup.exe
  15. echo $name[$i];
  16. ?>
hola es solamente para tener un control de los archivos descargados, muchas gracias ahora si ya le entendi

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 17:09.