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!!!