En un principio puede hacerlo a la perfección, pero luego, cuando trataron de descargar las imágenes, al abrirlas, estaban vacias (en blanco). Espero haber sido claro y que puedan brindarme su apoyo, muchas gracias desde ya. Aquí mis códigos:
Código PHP:
<?php
[HTML]//**** guardar.php*****
$archivo = $_FILES["archivito"]["tmp_name"];
$tamanio = $_FILES["archivito"]["size"];
$tipo = $_FILES["archivito"]["type"];
$nombre = $_FILES["archivito"]["name"];
$titulo = $_POST["nom"];
$nfac = $_POST["nfac"];
$imp = $_POST["imp"];
$cant = $_POST["cant"];
require_once "conexion.php";
$link = conectarBD();
if ( $archivo != "none" ){
$fp = fopen($archivo, "rb");
$contenido = fread($fp, $tamanio);
$contenido = addslashes($contenido);
fclose($fp);
$qry = "INSERT INTO archivos VALUES
('$nfac','$nombre','$titulo','$contenido','$tipo','$cant','$imp')";
$res = mysql_query($qry, $link) or die(mysql_error($link));
if(!$res){
echo "Disculpe, en este momento no podemos atenderlo. Inténtelo más tarde. Gracias. El administrador.";
} else {
echo "Eureka! Se insertó correctamente. <a href=\"guardar_archivos.html\">Regresar</a>";
}
}
?>
Código PHP:
//****** listar_archivo.php *****
<html>
<body>
<form id="form1" name="form1" method="post" action="listar_archivos.php">
<p>Sistema de Facturas en linea</p>
<table width="459" height="37" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="37">Buscar por nombre:</td>
<td><label>
<input type="text" name="nom" id="textfield" />
</label></td>
<td>
<input type="submit" name="bus" id="button" value="Buscar" />
<input type="button" name="nue" value="Nuevo" onclick="window.location='guardar_archivos.html'"/>
</td>
</tr>
</table>
<table width="642" height="29" border="1" cellpadding="0" cellspacing="0">
<tr>
<th width="108" scope="col">Numero de Factura</th>
<th width="181" scope="col">Descripcion</th>
<th width="77" scope="col">Cantidad</th>
<th width="110" scope="col">Importe</th>
<th width="154" scope="col">Acciones</th>
</tr>
<?php
if (isset($_REQUEST['bus'])){
$x = $_REQUEST['nom'];
require_once "conexion.php";
$link = conectarBD();
$qry = "SELECT id, titulo, cantidad, importe FROM archivos where titulo like '%$x%'
order by id";
$res = mysql_query($qry, $link);
while($fila = mysql_fetch_array($res)){
print '<tr>';
print '<td>'.$fila['id'].'</td>';
print '<td>'.$fila['titulo'].'</td>';
print '<td>'.$fila['cantidad'].'</td>';
print '<td>'.$fila['importe'].'</td>';
print '<td><a href="fac_editar.php?id='.$fila['id'].'">Editar</a> - ';
print '<a href="fac_eliminar.php?id='.$fila['id'].'">Eliminar</a> - ';
print '<a href="descargar_archivo.php?id='.$fila['id'].'">Descargar</a></td>';
print '</tr>';
}
}
?>
</table>
</form>
</body>
</html>
Código PHP:
<?php
//***** descargar_archivo.php ******
ob_start();
$nf = $_REQUEST['id'];
require_once "conexion.php";
$link = conectarBD();
$qry = "SELECT tipo, contenido FROM archivos WHERE id=$nf";
$res = mysql_query($qry, $link) or die(mysql_error($link));
$tipo = mysql_result($res, 0, "tipo");
$contenido = mysql_result($res, 0, "contenido");
$contenido = ob_get_clean();
header("Content-type: $tipo");
header("Content-Disposition: attachment; filename=factura$nf.jpeg");
header("Pragma: no-cache");
header("Expires: 0");
echo $contenido;
?>