Foros del Web » Programando para Internet » PHP »

Descargar con mismo nombre y otra extension.

Estas en el tema de Descargar con mismo nombre y otra extension. en el foro de PHP en Foros del Web. Hola, durante mucho tiempo estuve buscando una galeria para poner animaciones flash y que se pudieran descargar, pero no que descargara lo que se estaba ...
  #1 (permalink)  
Antiguo 20/08/2005, 17:31
Avatar de swishts  
Fecha de Ingreso: noviembre-2002
Ubicación: Uruguay
Mensajes: 209
Antigüedad: 15 años
Puntos: 0
Descargar con mismo nombre y otra extension.

Hola, durante mucho tiempo estuve buscando una galeria para poner animaciones flash y que se pudieran descargar, pero no que descargara lo que se estaba mirando sino el FLA (en mi caso SWI) para poder trabajar con el.
Hoy encontre un administrador de archivos muy simple que me fue de gran utilidad.
Aqui lo pueden ver.
http://www.manuales-swish.com/swi

Mi duda es esa, como hago para que cuando hagan clic en la imagen se baje el archivo pero que no sea el swf sino que tenga el mismo nombre pero lo baje en zip.

Aqui esta el php...
http://www.bitfolge.de/snif-en.html

En el PHP me puse a buscar ?path que es lo que aparece en el enlace de descarga y encontre esto:

Código PHP:
<a href="<?php echo $PHP_SELF?>?path=<?php echo rawurlencode($path)?>&amp;download=<?php echo rawurlencode($files[$i]["name"]);?>"><img src="<?php echo getIcon("download")?>" alt="<?php echo translate("download");?>" title="<?php echo translate("download");?>" width="20" height="20" style="vertical-align:middle;"/></a>
En fin, espero que alguien me pueda ayudar.
__________________
--------------------------
QUINCHOS WILFREDO, http://www.quinchoswilfredo.com
  #2 (permalink)  
Antiguo 20/08/2005, 18:09
 
Fecha de Ingreso: julio-2003
Mensajes: 463
Antigüedad: 14 años, 5 meses
Puntos: 0
Hola,
te digo lo que a mi se me ocurre. Debes tener los archivos ya en un .zip preparados y apuntarlos con el href para así poder descargarlos cuando se pinche automáticamente.

Creo que se podría hacer que se comprimiera de forma automática pero habría que llamar de alguna manera a la aplicación WinZip para que realizara la compresión.

Un saludo.
  #3 (permalink)  
Antiguo 20/08/2005, 18:27
 
Fecha de Ingreso: agosto-2005
Mensajes: 143
Antigüedad: 12 años, 3 meses
Puntos: 0
Mira esto por si te sirve:
http://php.grn.es/manual/es/ref.zip.php
  #4 (permalink)  
Antiguo 21/08/2005, 10:47
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Si estás usando una aplicación de un tercero .. sería bueno contactarte con el (como para hacerle mención de tu sugerencia para que te ayude).

De todas formas .. en líneas generales .. no sé como trabaja ese código concretamente pero "supongo" que generará cabeceras HTTP para componer el archivo a descargar (o debería) .. si es así .. dentro de las cabeceras HTTP se indica que "nombre" va a tomar tu archivo a la hora de descargarlo (en la ventana que se te muestra para que tu lo guardes en tu PC) .. eso es própio del protocolo HTTP y no es complicado "pegar" el cambiazo de lo que realmente lees (tu archivo en el servidor) a lo que "quieres" que se presente al descargarlo.

Puedes ver la documentación de header() en www.php.net/header

Ahí veras un sencillo ejemplo para forzar un archivo a su descarga leido desde su ubicación física en el servidor (vía readfile() o equivalentes para entregarlo al buffer de salida de PHP previa composición de las cacbeceras HTTP adecuadas que van a informar a "cliente" (tu navegador, gestor de descargas... etc) que propiedades tiene el archivos que se está descargando: nombre, tamaño .. posibilidad de "resume" .. etc.

Concretament .. la cabecera HTTP:
Código PHP:
header('Content-Disposition: attachment; filename="nombre_archivo.loquesea"'); 
define el nombre del archivo .. así que por ahí puedes cambiarlo a como gustes tomando parte de tu nombre del archivo original y trabajandolo como un simple "string" (Cadena) que es lo que en el fondo es ese nombre de archivo en ese punto.

Si el código que usas .. trabaja de esta forma .. localiza la parte que se nombre esa cabecera HTTP y modifica el código a tu gusto. Si tienes problemas con la interpretación de ese código .. lo mejor es ponerse en contacto con el autor o derechamente plantearse la creación de tu própia aplicación para tal fin con este tipo de peculiaridades.

Un saludo,
  #5 (permalink)  
Antiguo 21/08/2005, 10:50
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
OPS!, .. despues de toda mi anterior "parrafada" .. parece que al final lo que quieres es "comprimir" ese ".swf" o archivo en general para su descargar? .. Bueno .. si es así puedes usar las técnicas anteriores que te comenté sobre cabeceras HTTP y forzar la descarga + esta classe que te ayudará al proceso de compresión en sí del archivo (sea cual sea o cuales seann

http://www.phpclasses.org/browse/package/945.html
(en ese sito (www.phpclasses.org) tienes más utilidades similares).


Un saludo,
  #6 (permalink)  
Antiguo 21/08/2005, 16:36
Avatar de swishts  
Fecha de Ingreso: noviembre-2002
Ubicación: Uruguay
Mensajes: 209
Antigüedad: 15 años
Puntos: 0
Cita:
Iniciado por Cluster
OPS!, .. despues de toda mi anterior "parrafada" .. parece que al final lo que quieres es "comprimir" ese ".swf" o archivo en general para su descargar? .. Bueno .. si es así puedes usar las técnicas anteriores que te comenté sobre cabeceras HTTP y forzar la descarga + esta classe que te ayudará al proceso de compresión en sí del archivo (sea cual sea o cuales seann

http://www.phpclasses.org/browse/package/945.html
(en ese sito (www.phpclasses.org) tienes más utilidades similares).


Un saludo,
No, nada de comprimir, quiero que al presionar en descargar baje un archivo con el mismo nombre pero otra extencion. Esos archivos son subidos por mi y estan ocultos.
__________________
--------------------------
QUINCHOS WILFREDO, http://www.quinchoswilfredo.com
  #7 (permalink)  
Antiguo 21/08/2005, 16:48
Avatar de swishts  
Fecha de Ingreso: noviembre-2002
Ubicación: Uruguay
Mensajes: 209
Antigüedad: 15 años
Puntos: 0
Cita:
Iniciado por Cluster
Si estás usando una aplicación de un tercero .. sería bueno contactarte con el (como para hacerle mención de tu sugerencia para que te ayude).

De todas formas .. en líneas generales .. ,
hola, como tu dices se encuentra esa linea:

Código PHP:
// handle download requests
 
if ($_GET["download"]!="") {
 
$download stripslashes($_GET["download"]);
 
$filename safeDirectory($path.rawurldecode($download));
 
if (
 
!
file_exists($filename)
 
OR 
fileIsHidden($filename)
 
OR (
substr(strtolower($filename), -4)==".php" AND !$allowPHPDownloads)) {
 
 
 
Header("HTTP/1.0 404 Not Found");
 
$displayError[] = sprintf(translate("File not found: %s"), $filename);
 
} else {
 
//doConditionalGet($filename, filemtime($filename));
 
Header("Content-Length: ".filesize($filename));
 
Header("Content-Type: application/x-download");
 
Header("Content-Disposition: attachment; filename=\"".rawurlencode($download)."\"");
 
readfile($filename);
 
die();
 
}
 

Pero de que manera le puedo cambiar la extencion alli?
__________________
--------------------------
QUINCHOS WILFREDO, http://www.quinchoswilfredo.com
  #8 (permalink)  
Antiguo 23/08/2005, 16:15
Avatar de swishts  
Fecha de Ingreso: noviembre-2002
Ubicación: Uruguay
Mensajes: 209
Antigüedad: 15 años
Puntos: 0
hghhg

Chicos, no se enojen , se que es muuuuy facil pero nadie nace sabiendo...
Alguna ayuda porfavor....
__________________
--------------------------
QUINCHOS WILFREDO, http://www.quinchoswilfredo.com

Última edición por swishts; 29/08/2005 a las 17:12 Razón: fgggh
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 05:36.