Foros del Web » Programando para Internet » PHP »

imposible descargar archivo de pagian web con php

Estas en el tema de imposible descargar archivo de pagian web con php en el foro de PHP en Foros del Web. Buenas Llevo varias horas recorriendo la red bsucando como poder descargar un archivo desde mi pagina web.. y no hay manera lo unico que consigo ...
  #1 (permalink)  
Antiguo 15/03/2016, 12:20
 
Fecha de Ingreso: marzo-2007
Mensajes: 29
Antigüedad: 17 años, 7 meses
Puntos: 0
imposible descargar archivo de pagian web con php

Buenas

Llevo varias horas recorriendo la red bsucando como poder descargar un archivo desde mi pagina web.. y no hay manera lo unico que consigo es que me abra su contenido e una pagina.... (PK *�C dimension/UX __Ro_R�PK*�Cdimension/.DS_StoreUX o_Ro_R��Mj�0....)


he probado con:

Código PHP:
    // accepted file extensions
    
$extensions = array("pdf","mp3","zip","rar");
 
    
// file name to download
    
$file $_GET["file"];
 
    
// file size
    
$size filesize($file);
 
    
// Prevent go throught directories
    
if(strpos($file,"/")!==false){
        die(
"Permission denied to change directory, please, especify only a file name");
    }
 
    
// test the file estension
    
$ftmp explode(".",$file);
    
$fExt strtolower($ftmp[count($ftmp)-1]);
    if(!
in_array($fExt,$extensions)){
        die(
"ERROR: File extension not recognized: $fExt");
    }
 
    
// if it was ok, let's download it
    
header("Content-Transfer-Encoding: binary");    
    
header("Content-type: application/octet-stream");
    
header("Content-Disposition: attachment; filename=$file");
    
header("Content-Length: $size");
    
$fp=fopen("$file""r");
    
fpassthru($fp); 
con ..

Código PHP:
<?php
if (!isset($_GET['file']) || empty($_GET['file'])) {
 exit();
}
$root "archivos/";
$file basename($_GET['file']);
$path $root.$file;
$type '';
 
if (
is_file($path)) {
 
$size filesize($path);
 if (
function_exists('mime_content_type')) {
 
$type mime_content_type($path);
 } else if (
function_exists('finfo_file')) {
 
$info finfo_open(FILEINFO_MIME);
 
$type finfo_file($info$path);
 
finfo_close($info);
 }
 if (
$type == '') {
 
$type "application/force-download";
 }
 
// Definir headers
 
header("Content-Type: $type");
 
header("Content-Disposition: attachment; filename=$file");
 
header("Content-Transfer-Encoding: binary");
 
header("Content-Length: " $size);
 
// Descargar archivo
 
readfile($path);
} else {
 die(
"El archivo no existe.");
}
?>
incluso con las cabeceras:

Código PHP:
header('Content-Type:application/octet-stream'); // rar
header('Content-Type:text/plain'); // txt, html, etc
header('Content-Type:application/force-download');
header('Content-Description:File Transfer');
header('Pragma:public');
header('Expires:0');
header('Cache-Control:no-cache,must-revalidate,post-check=0,pre-check=0');
header('Cache-Control:private,false');
header("Content-Disposition:attachment;filename=$file");
header('Content-Length:'.filesize$file )); 
estoy desesperado no se si es problema de mi servidor hosting (de pago) alguien me puede ayudar...
Gracias
  #2 (permalink)  
Antiguo 15/03/2016, 17:36
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: imposible descargar archivo de pagian web con php

Normalmente el usar las últimas cabeceras que muestras sería suficiente... ¿has probado con otro navegador?
  #3 (permalink)  
Antiguo 15/03/2016, 18:39
 
Fecha de Ingreso: enero-2009
Ubicación: Kandor
Mensajes: 209
Antigüedad: 15 años, 9 meses
Puntos: 11
Respuesta: imposible descargar archivo de pagian web con php

creo que eso es mas del lado de javascript, tienes que decirle la ruta de donde esta tu archivo en el navegador, he invocar esa ruta como una url creo que con location.href, si no me crees prueba, pon un archivo zip en una carpeta con permisos de acceso y trata de accederlo por medio de una url con location.href y te debe salir un cuadro de dialogo abrir guardar. Si traes los archivos desde BD es otro cuento distinto porque tienes que usar las etiquetas iframe, object, o embed, dependiendo de lo que quieras hacer y del tipo de archivo. La forma que estas usando generalmente se usa para construir archivos excel en base a html y mostrar solo el excel. Un poco de ayuda http://stackoverflow.com/questions/1...multiple-files
  #4 (permalink)  
Antiguo 16/03/2016, 11:49
 
Fecha de Ingreso: marzo-2007
Mensajes: 29
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: imposible descargar archivo de pagian web con php

Buenas

He comprobado si esos escrips funcionan en otros honsting y si funcion osea que el problema lo tiene mi hosting...

Alguien me puede decir que puede pasarles (otros scrips php si funcionan) ..

Gracias

Etiquetas: html, imposible
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 21:37.