Foros del Web » Programando para Internet » PHP »

descarga archivos desde mi web

Estas en el tema de descarga archivos desde mi web en el foro de PHP en Foros del Web. hola amigos/as tengo una wb el la cual los usuarios se descarguaen archivos(de cualkier extension) el problema es ke me sale el dialogo pero no ...
  #1 (permalink)  
Antiguo 09/06/2009, 02:30
 
Fecha de Ingreso: mayo-2009
Mensajes: 74
Antigüedad: 14 años, 11 meses
Puntos: 0
hola amigos/as
tengo una wb el la cual los usuarios se descarguaen archivos(de cualkier extension)
el problema es ke me sale el dialogo pero no descarga el archivo deseado y para colomo el explorer me bloquea la descarga.
aki dejo el codigo a ver si alguien me podria ayudar.
gracias por adelantado y perdonad la ignorancia.
Código PHP:
<?php

$release
=$_GET['release'];

header ("Content-Disposition: attachment; filename=".$release." ");
header ("Content-Type: application/octet-stream");
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/download");
header("Content-Transfer-Encoding: binary ");
readfile('./xampp/htdocs/$release');

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<!--<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />-->
<title>Error al descargar el archivo</title>
</head>

<body>
<p>No se ha podido descargar el archivo</p>
</body>
</html>
el archivo adescargar lo recibo de aki despues de una seleccion

<html>
<head>
<title>Descarga de archivo</title>
</head>
<body>
<h1>Descarga de archivo</h1>


<?php

$p = $_GET["nomprod"];
$v = $_GET["version"];
$t = $_GET["tipo"];

echo"$p</br>";
echo"$v</br>";
echo"$t</br>";

//CONTAPLUS
if($p=="contaplus"){

if($v=="basico"){
switch($t){
case H:
$release="contaplus_basico_ayuda.txt";break;
case I:
$release="contaplus_basico_informacion.txt";break;
case A:
$release="contaplus_basico_actualizacion.exe";brea k;
}
}

if($v=="profesional"){
switch($t){
case H:
$release="contaplus_profesional_ayuda.txt";break;
case I:
$release="contaplus_profesional_informacion.txt";b reak;
case A:
$release="contaplus_profesional_actualizacion.exe" ;break;
}
}

if($v=="elite"){
switch($t){
case H:
$release="contaplus_elite_ayuda.txt";break;
case I:
$release="contaplus_elite_informacion.txt";break;
case A:
$release="contaplus_elite_actualizacion.exe";break ;
}
}


if($v=="evolution"){
switch($t){
case H:
$release="contaplus_evolution_ayuda.txt";break;
case I:
$release="contaplus_evolution_informacion.txt";bre ak;
case A:
$release="contaplus_evolution_actualizacion.exe";b reak;
}
}
}//fin CONTAPLUS

echo"$release";
?>
<script>
document.location.href="descarga4.php?release=<?ec ho $release?>";
</script>
<?



?>

</body>
</html>

bueno por lo menos porke me pasa eso:

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\descarga4.php:2) in C:\xampp\htdocs\descarga4.php on line 6

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\descarga4.php:2) in C:\xampp\htdocs\descarga4.php on line 7

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\descarga4.php:2) in C:\xampp\htdocs\descarga4.php on line 9

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\descarga4.php:2) in C:\xampp\htdocs\descarga4.php on line 10

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\descarga4.php:2) in C:\xampp\htdocs\descarga4.php on line 11

Warning: readfile(./htdocs/contaplus_basico_ayuda.txt) [function.readfile]: failed to open stream: No such file or directory in C:\xampp\htdocs\descarga4.php on line 12

No se ha podido descargar el archivo

Última edición por GatorV; 09/06/2009 a las 09:21
  #2 (permalink)  
Antiguo 09/06/2009, 09:27
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: descarga archivos desde mi web

Ese error te sale porque estas enviando algo de texto antes de header() y eso causa ese problema.

Saludos.
  #3 (permalink)  
Antiguo 09/06/2009, 10:24
 
Fecha de Ingreso: mayo-2009
Mensajes: 74
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: descarga archivos desde mi web

gracias por tu respuesta GatorV
ya quite ese echo y ahora va otra vez pero no se descarga el archivo deseado ,me saca el cuadro del dialogo con el nombre exacto del archivo ,pero cuando lo abro hay un log de fallos.


descarga4.php
************


<?php

$release=$_GET['release'];

header ("Content-Disposition: attachment; filename=".$release." ");
header ("Content-Type: application/octet-stream");
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/download");
header("Content-Transfer-Encoding: binary ");
readfile("./htdocs/$release");

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<!--<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />-->
<title>Error al descargar el archivo</title>
</head>

<body>
<p>No se ha podido descargar el archivo</p>
</body>
</html>
***************************************

todos los archivos los tengo en /xampp/htdocs



el contenido del archivo descargado(contaplus_basico_ayuda.txt):
************************************************** ****


<br />
<b>Warning</b>: readfile(./htdocs/contaplus_basico_ayuda.txt) [<a href='function.readfile'>function.readfile</a>]: failed to open stream: No such file or directory in <b>C:\xampp\htdocs\descarga4.php</b> on line <b>13</b><br />
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<!--<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />-->
<title>Error al descargar el archivo</title>
</head>

<body>
<p>No se ha podido descargar el archivo</p>
</body>
</html>
********************************
  #4 (permalink)  
Antiguo 09/06/2009, 11:55
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: descarga archivos desde mi web

estas cometiendo dos errores muy claros...

- estas imprimiendo HTML despues del contenido del archivo, lo cual, al descargar exitosamente... tambien se incluye tal HTML ... lo cual, esta mal...

- la ruta que supones es totalmente incorrecta cuando haces el readfile() procura usar la ruta absoluta y real

el log de error te da una pista, la ruta del script... que esta en htdocs/ entonces, puedes usar $release son ./htdocs/ ya que no es necesario
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 10/06/2009, 02:04
 
Fecha de Ingreso: mayo-2009
Mensajes: 74
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: descarga archivos desde mi web

gracias pateketrueke
buena pista ,lo solucione,ahora me descarga el archivo exitosamente
me podrias decir porke el maldito explorer me lo bloquea(el cuadro de dialogo)?
explicacion del caso:
cuando entro a la pagina por primera vez y pulso en el enlace de descarga del archivo me saca el tipico mensaje arriba:
"para ayudar a proteger su seguridad,Interner Explorer no permitio que este sitio descargara archivos en su equipo.Haga clic aqui para ver opciones..."
cuando le doy me saca la opcion de descargar,y al hacerlo(descargar) no me saca ningun cuadro de dialogo y se reenicia la pagina entera.
al entrar por segunda vez e intentar descargar el archivo lo hace todo bien ,saca el cuadro y descarga el archivo.
sabrias decirme como solucionar eso?
gracias por adelantado.
  #6 (permalink)  
Antiguo 10/06/2009, 03:12
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: descarga archivos desde mi web

eso es cuestión del navegador, y PHP no tiene forma de solucionarlo...

osea, es un aspecto de seguridad propio de IE ... así, que no hay forma de evitarlo mas que en las opciones del propio IE (que ignoro)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 10/06/2009, 04:28
 
Fecha de Ingreso: mayo-2009
Mensajes: 74
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: descarga archivos desde mi web

garcias por tu respuesta
hasta otra supongo
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:34.