Descarga de archivos con php

Tengo una consulta y es la siguiente:

Necesito realizar descargas de archivos con php, para esto tengo 2 scripts php, uno se llama listar archivos y el otro descargas, a continuación los scripts

Listar archivos:

¿

<?php
if ($_SESSION["autentificación"]==1){
$path="./../archivosMostrar/"; //directorio a listar
$directorio=dir($path);
$pn= array();//pila de nombres
//bucle para llenar las pilas :P
while ($archivo = $directorio->read()){
//no mostrar ni "." ni ".." ni el propio "index.php"
if(($archivo!="index.php")&&($archivo!=".")&&($archivo!="..")){
array_push($pn, $archivo);
}
}
$directorio->close();
echo"<a href=cerrarSesion.php>cerrar sesión</a> <br>";
echo "<span><b>Aplicaciones y Utilerías</b></span> <br>";
//ordenar las 3 pilas según la pila de nombres
array_multisort($pn);
//mostrar los datos
if(count($pn)==""){
echo "<div class='contenedorPrincipal'>";
echo "<div class='formato'>";
echo "<p>Gracias por registrarse en ApliTools, muy pronto espere de manera gratuita un aplicativo pensado en facilitar su experiencia en la herramienta Excel.</p>";
echo "</div>";
echo "<div>";
echo "<br> No olvide visitarnos http://aplitools.blogspot.com/";
echo "</div>";
echo "</div>";
}else if(count($pn)){
$j=0;
for($i=0; $i<count($pn); $i++){
$j++;
$id="#speechbubble".$j;
echo "<div class='contenedorMaeztro'>";
echo "<div class='contenedorIzquierdo' onmouseover=".'this.style.background="#DCDCDC"'.' onmouseout='.'this.style.background="#ffffff"'.">".$pn[$i]."</div>";
echo "<a href=descarga.php?id=".base64_encode($pn[$i])." class='addspeech' rel='.$id.'><div class='contenedorDerecho'></div></a><br>";
echo "<div class='limpiador'></div>";
echo "</div>";
}
}
}else if ($_SESSION["autentificación"]!=1){
echo "Usted no se ha registrado o no ha iniciado sesión, sera redirigido.";
redirect("../hml/registro.html",2);
}
?>

descarga

<?php
$enlace = "./../archivosCargados/".base64_decode($_GET['id']);
header ("Content-Type: application/octet-stream");
header ("Content-Disposition: attachment; filename=".base64_decode($_GET['id']));
header ("Content-Length: ".filesize($enlace));
$fp=fopen("$enlace", "w");
fpassthru($fp);
?>

El problema que tengo, es que cuando realizo la descarga y trato de abrir el archivo me sale error y cuando miro el tamaño del archivo dice que es 0, la verdad no se que pueda hacer he revisado foros y documentación y he probado el código de todas las maneras pero siempre tira el mismo error, ¿es posible que al utilizar servidores gratuitos no se pueda realizar este tipo de aplicaciones? Ya he probado en 2 servidores y en ninguno funciona.

Ojala me pueda ayudar, estoy atento a sus comentarios, feliz dia.

Salu2!

Edwin Moreno

1 Respuesta

Respuesta
1

Asegurate de que el fichero está subido y tiene el tamaño adecuado. Para este tipo de aplicaciones, contrata un servidor de pago, claro!...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas