Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/11/2013, 15:08
Snowball
 
Fecha de Ingreso: marzo-2011
Mensajes: 40
Antigüedad: 13 años, 1 mes
Puntos: 0
Crear un espacio en mi web donde alojar y descargar archivos.

Buenas tardes a todos.

Les comento en breve la situación:

Estoy tratando de armar en mi web un espacio donde pueda subir y bajar archivos desde cualquier PC.

El código que uso es el siguiente:

Código PHP:
<?php 
$files 
glob("archivos/*.*"); 
if(
count($files) > 0)
{
    foreach(
$files as $file)
    {
            echo 
"<a href=\"".$file."\">".$file."</a><br/>"
    }
    }
else
{
    echo 
'La carpeta esta vacía';
}
?>
El problema que me da este código es que, si bien me genera el listado de la carpeta con su respectivo link, cuando le doy al link no lo descarga.

Mi navegador intenta abrir el archivo en una pestaña nueva.

Bueno, si fuesen imagenes y archivos pdf o word, etc, no tendría problema porque puedo descargarlos de todas formas. Pero con otros tipos de archivos u otras extensiones comienzan los problemas de que no puede abrir el archivo ni puedo descargarlo.

Después de buscar por la web, encontre una pequeña solución, que si comprimía el archivo en un zip, podría descargarlo tan solo haciendo click en el link.

Entonces armé el siguiente código, pero no llegue a nada bueno. Se me genera un zip que dice por ej: archivo.ndtzip y al hacer clic en el link me da error 404.

Código PHP:
<?php 
$files 
glob("archivos/*.*"); 
if(
count($files) > 0)
{
    foreach(
$files as $file)
    {
        
$zip = new ZipArchive();
$filename $file.zip;

if (
$zip->open($filenameZipArchive::CREATE)!==TRUE) {
    exit(
"cannot open <$filename>\n");
}

$zip->addFile("$file");
echo 
"Cantidad de Ficheros: " $zip->numFiles "\n <br />";
echo 
"Estado:" $zip->status "\n <br />";
$zip->close();
            echo 
"<a href=\"".$file."\".zip>".$file."</a><br/>";
    }
    }
    else {
            echo 
'Error creando '.$filename;
    }
    
?>
Con este código lo que me pasa es que me dice el número de ficheros y el estado de cada zip que se crea, pero cuando reviso la carpeta no hay ningún zip. Y el link que creo al final me lleva al archivo original y no al zip creado.

Dónde la estoy pifiando ?. Quizá sea un error tonto porque ya estoy cansado, llevo horas intentando hacer funcionar esto.

Les dejo un saludo y gracias de antemano.