Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/03/2006, 22:41
Avatar de Bullet
Bullet
 
Fecha de Ingreso: agosto-2005
Ubicación: Margarita, Venezuela
Mensajes: 235
Antigüedad: 18 años, 8 meses
Puntos: 1
DEscarga de archivos!!

q mas amigos, espero esten bien, escribo en esta oportunidad porq' sigo con l problemita de la descarga de los archivos, les voy a dejar los scripts q uso para q los vean:
Script de Subida
Código PHP:
<?
$conex
=mysql_connect('localhost','root');
mysql_select_db('bd_prueba',$conex);
//tomo el valor de un elemento de tipo texto del formulario
//echo "Escribió en el campo de texto: " . $cadenatexto . "<br><br>";
//datos del archivo
$nombre_archivo $HTTP_POST_FILES['userfile']['name'];
$tipo_archivo $HTTP_POST_FILES['userfile']['type'];
$tamano_archivo $HTTP_POST_FILES['userfile']['size'];
if (( 
strpos($tipo_archivo"doc") || strpos($tipo_archivo"ppt") || strpos($tipo_archivo"pdf") || strpos($tipo_archivo"zip") || strpos($tipo_archivo"rar") || strpos($tipo_archivo"txt")) && ($tamano_archivo <= 200000)) {
    echo 
"La extensión o el tamaño de los archivos no es correcta.";
}else
    if (
move_uploaded_file($_FILES['userfile']['tmp_name'], "../prueba/archivos/" .$nombre_archivo)){
        echo 
"El archivo ha sido cargado correctamente.";
    
//$d= "Appserv/www/IHM/archivos/";
    
$sql "INSERT INTO temaris2 (id, filename,filetype, filesize, filecontents)";
    
$sql.= "VALUES ('$id', '$nombre_archivo','$tipo_archivo','$tamano_archivo', '$filecontents')";
    
$result=mysql_query($sql);
    }else{
        echo 
"Ocurrió algún error al subir el fichero. No pudo guardarse.";
    }
?>
Script de listar archivos
Código PHP:
<?
mysql_connect
('localhost','root');
mysql_select_db('bd_prueba');
$query "SELECT id, filename FROM temaris2";
$result mysql_query($query) or die('Error, la consulta no es pot realitzar');
if(
mysql_num_rows($result) == 0)
{
echo 
"No hi ha cap temari<br>";
}
else
{
while(list(
$id$filename) = mysql_fetch_array($result))
{
?>
<a href="descargar_archivo.php?id=<?=$id;?>"><?=$filename;?></a> <br>
<?
}
}
?>
Script de descarga
Código PHP:
<?
mysql_connect
('localhost','root');
mysql_select_db('bd_prueba');
if(isset(
$_GET['id']))
{
$id $_GET['id'];
$query "SELECT filename, filesize, filetype FROM temaris2 WHERE id = '$id'";
$result mysql_query($query) or die('Error, la consulta ha fallat');
list(
$filename$filetype$filesize) = mysql_fetch_array($result);
header("Content-Disposition: attachment; filename=$filename");
header("Content-length: $filesize");
header("Content-type: $filetype");
echo 
$filecontents;
}
?>
los dos ultimos los consegui aki en una discusión q abrieron hace unos dias atras, este es el enlace: http://www.forosdelweb.com/showthrea...2descarga+arch ivos%22
bueno, el detalle es q utilice el script de subida que yo tenia y lo acople a los otros dos, pero lo q no entiendo es q se utiliza una variable llamada "$filecontents", que es el contenido q tiene el archivo, esta es la unica variable q falta por leer en la BD, y no se como hacerlo, en un momento pense q era la direccion dond se encuentra el archivo al momento de descargarlo pero nop, le asigne un valor cualquiera y me di cuenta q esta variable guarda el contenido del archivo; lo que me falta hacer nada mas es como leer el contenido del archivo para q' no lo baje vacio. Spero me puedan ayudar. Saludos!!!