Hola:
uso unos script de la red concretamente de:
http://www.programacion.net/php/articulo/datos_blob/
que son:
para cargar un archivo a MySQL mediante form simple
<?
/* guardar_archivo.php */
mysql_connect('localhost','user','9999')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('registro')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
$archivo = $_FILES["archivito"]["tmp_name"];
$tamanio = $_FILES["archivito"]["size"];
$tipo = $_FILES["archivito"]["type"];
$nombre = $_FILES["archivito"]["name"];
$titulo = $_POST["titulo"];
if ( $archivo != "none" )
{
$fp = fopen($archivo, "rb");
$contenido = fread($fp, $tamanio);
$contenido = addslashes($contenido);
fclose($fp);
$query = "INSERT INTO archivos
VALUES (0,'.$nombre.','.$titulo.','.$contenido.','.$tipo. ')";
mysql_query($query) or die(mysql_error());
echo "El archivo '.$nombre.' ha sido cargado de manera satisfactoria.<br />";
}
?>
con este ecript recupero la lisra de los archivos subido y formateada:
<?php
mysql_connect('localhost','juser','9999')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('registro')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
$qry = "SELECT nombre, titulo, tipo FROM archivos";
$res = mysql_query($qry);
while($fila = mysql_fetch_array($res))
{
echo "<table width=70%><tr bgcolor= #61e877><div align=center>";
echo "<b>Titulo: </b>";
echo $fila[titulo];
echo "</div></tr>";
echo"<tr> </tr>";
echo "<tr><b>Nombre: </b>";
echo $fila[nombre];
echo "</tr>";
echo"<tr> </tr>";
echo "<tr><div align=center><a href='descargar_archivo.php?id=$fila[id]'>Descargar</a></div>";
echo "</tr>";
echo"<tr> </tr>";
echo "<hr>" ;
echo "</table>" ;
}
?>
He ido introduciendo modificaciones al codigo original de formateo de los resultados de la consulta a la BD.
Y por ultimo el scrip que se supone que me iniciara la descarga del archivo que quiera de la BD con el link creado en el codigo anterior, asociado a la BD.
<?php
mysql_connect('localhost','userr','9999')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('registro')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
$qry = "SELECT tipo, contenido FROM archivos WHERE id=$id";
$res = mysql_query($qry);
$tipo = mysql_query($res,"tipo"); //line 11
$contenido = mysql_query($res,"contenido"); // line12
header("Content-type: $tipo"); //line 14
print $contenido;
?>
Me dan error las siguentes lineas despues de que toda la aplicacion funciona.
$tipo = mysql_query($res,"tipo");
$contenido = mysql_query($res,"contenido");
header("Content-type: $tipo");
El error es del siguiente tipo:
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\Inetpub\vhosts\tuboolar-web.com\httpdocs\cevit\descargar_archivo.php on line 11
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\Inetpub\vhosts\tuboolar-web.com\httpdocs\cevit\descargar_archivo.php on line 12
Warning: Cannot modify header information - headers already sent by (output started at C:\Inetpub\vhosts\tuboolar-web.com\httpdocs\cevit\descargar_archivo.php:11) in C:\Inetpub\vhosts\tuboolar-web.com\httpdocs\cevit\descargar_archivo.php on line 14
Sabria alguien que hago mal, despues de romperme el coco muchos dias.
Gracias.