Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/10/2008, 11:54
Avatar de acousticgerman
acousticgerman
 
Fecha de Ingreso: abril-2004
Ubicación: Merlo, buenos aires
Mensajes: 364
Antigüedad: 20 años, 10 meses
Puntos: 1
De acuerdo No me suben los archivos al servidor!

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!
__________________
"Life goes on..."