Hola, yo tengo un formulario donde busco una imàgen y la subo a una BD como binario y luego me muestra un thumbnail de la mism. Tengo todos los permisos habilitados en mi servidor y la galerìa GD instalada pero aùn asì no me suben los archivos al servidor y por ende no me muestra ningùn thumbnail.
 
Estos son los còdigos:
 
--------------------------------------------------------------------------------------------------------------
 
#
# Estructura de tabla para la tabla `archivos`
#
 
CREATE TABLE archivos (
  id int(10) unsigned NOT NULL auto_increment,
  archivo_binario blob NOT NULL,
  archivo_nombre varchar(255) NOT NULL default '',
  archivo_peso varchar(15) NOT NULL default '',
  archivo_tipo varchar(25) NOT NULL default '',
  PRIMARY KEY  (id)
) TYPE=MyISAM;
 
 
--------------------------------------------------------------------------------------------------------------
 
 
formulario.php
 
<HTML> 
<HEAD> 
<TITLE>Binario a BD</TITLE> 
</HEAD> 
<BODY> 
<?php 
if (isset($_GET['proceso'])){ 
echo $_GET['proceso']."<br>"; 
} 
 
 
 
?> 
<FORM enctype="multipart/form-data" method="post" action="insertar.php"> 
Archivo: <INPUT type="file" name="archivo" size="30"> 
<INPUT type="submit" name="submit" value="Subir archivo"> 
</FORM> 
</BODY> 
</HTML>
 
--------------------------------------------------------------------------------------
 
insertar.php
 
<?php 
if (empty($_FILES['archivo']['name'])){ 
header("location: formulario.php?proceso=falta_indicar_fichero");
exit; 
} 
 
 
 
$conexion = mysql_connect("localhost","xxxxxx","xxxxxx") or die("No se pudo realizar la conexion con el servidor."); 
mysql_select_db("xxxxxx",$conexion) or die("No se puede seleccionar BD");
 
 
$binario_nombre_temporal=$_FILES['archivo']['tmp_name'] ; 
 
 
$binario_contenido = addslashes(fread(fopen($binario_nombre_temporal, "rb"), filesize($binario_nombre_temporal))); 
 
 
$binario_nombre=$_FILES['archivo']['name']; 
$binario_peso=$_FILES['archivo']['size']; 
$binario_tipo=$_FILES['archivo']['type']; 
 
 
$consulta_insertar = "INSERT INTO archivos (id, archivo_binario, archivo_nombre, archivo_peso, archivo_tipo) VALUES ('', '$binario_contenido', '$binario_nombre', '$binario_peso', '$binario_tipo')"; 
mysql_query($consulta_insertar,$conexion) or die("No se pudo insertar los datos en la base de datos."); 
header("location: listar_imagenes.php");
 
exit; 
?> 
 
--------------------------------------------------------------------------------
 
listar_imagenes.php
 
<?php 
    mysql_connect("localhost","xxxxxx","xxxxxx") or die ("no se ha podido conectar a la BD"); 
 
    mysql_select_db("xxxxxx") or die ("no se ha podido seleccionar la BD"); 
 
    $sql = "SELECT id,archivo_nombre,archivo_tipo,archivo_peso FROM archivos"; 
    $consulta = mysql_query($sql) or die ("No se pudo ejecutar la consulta"); 
 
    While ($registro=mysql_fetch_assoc($consulta)){ 
        echo "<img src=\"ver.php?id=".$registro['id']."\">"; 
        echo "<br> Nombre archivo: ".$registro['archivo_nombre']; 
        echo "<br> Tipo archivo (MIME formato): ".$registro['archivo_tipo']; 
        echo "<br> Peso: ".$registro['archivo_peso']." bytes.<br><br>"; 
    } 
 
?> 
 
--------------------------------------------------------------------------------------
 
ver.php
 
 
<?php 
if(isset($_GET['id'])) { 
 
 
    $conexion=mysql_connect("localhost","xxxxxx","xxxx  xx") or die ("no se ha podido conectar a la BD"); 
 
    mysql_select_db("xxxxxx") or die ("no se ha podido seleccionar la BD"); 
 
    $sql = "SELECT archivo_nombre,archivo_binario,archivo_tipo FROM archivos WHERE id='".$_GET['id']."'"; 
 
    $consulta = mysql_query($sql,$conexion); 
 
    $datos = mysql_result($consulta,0,"archivo_binario"); 
    $tipo = mysql_result($consulta,0,"archivo_tipo"); 
    $nombre = mysql_result($consulta,0,"archivo_nombre"); 
    $peso = mysql_result($consulta,0,"archivo_peso"); 
 
 
    header("Content-type: $tipo"); 
    header("Content-length: $peso");  
    header("Content-Disposition: inline; filename=$nombre");  
 
   echo $datos; 
 
} 
?>
 
----------------------------------------------------------------------------------
 
ver_thumbnail.php
 
<?php 
 
 
 
if(isset($_GET['id'])) { 
 
    $conexion=mysql_connect("localhost","xxxxxx","xxxx  xx") or die ("no se ha podido conectar a la BD"); 
    mysql_select_db("xxxxxx") or die ("no se ha podido seleccionar la BD"); 
    $sql = "SELECT archivo_binario,archivo_tipo,archivo_nombre FROM archivos WHERE id='".$_GET['id']."'"; 
    $consulta = mysql_query($sql,$conexion); 
    $imagen = mysql_result($consulta,0,"archivo_binario"); 
 
   JPEG 
    Header ("Content-type: image/jpeg"); 
 
 
 
 
    $img = imagecreatefromstring($imagen); 
 
 
    $picsize = 123; 
 
 
    $new_w = imagesx($img); 
    $new_h = imagesy($img); 
 
 
    $aspect_ratio = $new_h / $new_w; 
 
 
    $new_w = $picsize; 
    $new_h = abs($new_w * $aspect_ratio); 
 
 
    $dst_img = ImageCreateTrueColor($new_w,$new_h);
 
 
    imagecopyresized($dst_img,$img,0,0,0,0,$new_w,$new  _h,imagesx($img),imagesy($img)); 
 
 
    imagejpeg($dst_img,'',100); 
} 
 
?> 
 
 
----------------------------------
 
Espero que puedan ayudarme a que funcione! 
  
 
