Foros del Web » Programando para Internet » PHP »

No me suben los archivos al servidor!

Estas en el tema de No me suben los archivos al servidor! en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 13/10/2008, 11:54
Avatar de acousticgerman  
Fecha de Ingreso: abril-2004
Ubicación: Merlo, buenos aires
Mensajes: 364
Antigüedad: 20 años
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..."
  #2 (permalink)  
Antiguo 13/10/2008, 12:45
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: No me suben los archivos al servidor!

Hola acousticgerman,

Realiza un var_dump($_FILES) y verifica que entrada tiene la llave de 'error'.

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

Gracias por responder GatorV. Te cuento que error no me tira, pero sucede que hace tiempo que tengo que hacer una modificaciòn en las variables que envìo. No sè si es problema de mi server o de PHP, pero solo puedo hacerlo enviando variables con el metodo Get y declaràndolas antes de ser enviadas por que sino me figura como enviada pero no me llegan los datos o archivos. Es raro no sè si sabès algo al respecto!

Por ejemplo si tengo que enviar una variable lo hago asì

$variablex=$_GET['variablex'];

y luego hago la query con dicha variable (UPDATE, INSERT, ETC).

Ej:

$nombre=$_GET[nombre]; //las declaro y las toma del formulario html
$email=$_GET[email]; // lo mismo jeje



$insert= "insert into newsletterunanime (nombre, email) values ('$nombre' ,'$email')";// realizo la query

---------------------

El tema es que si yo no las declaro no me tira error pero tampoco me envìa nìnguna variable a la BD.

Yo pude resolverlo para un script diferente pero aùn no logro hacerlo funcionar con el script en cuestiòn

Si encontràs la soluciòn te agradecerìa enormemente!!!

Te cuento que el script lo realizò Cluster no yo, por eso no sè como resolverlo, soy bastante novato pero con ganas de aprender!!!

Saludos!!!
__________________
"Life goes on..."
  #4 (permalink)  
Antiguo 13/10/2008, 22:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: No me suben los archivos al servidor!

Hola acousticgerman,

Seguramente es porque tu servidor cambio de usar las variables de register_globals de On a Off, lo cual es lo mejor y es más seguro.

Saludos.
  #5 (permalink)  
Antiguo 13/10/2008, 23:12
Avatar de acousticgerman  
Fecha de Ingreso: abril-2004
Ubicación: Merlo, buenos aires
Mensajes: 364
Antigüedad: 20 años
Puntos: 1
De acuerdo Respuesta: No me suben los archivos al servidor!

SI algo así me dijeron, pero me complicó la vida en un momento y ahora tambien. En fín, volviendo al tema, si sabés como puedo solucionar mi problema te agradecería mucho, ya que probé hacerlo con get y no funca!!!

Un abrazo!!
__________________
"Life goes on..."
  #6 (permalink)  
Antiguo 14/10/2008, 05:34
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: No me suben los archivos al servidor!

el form usa POST no uses GET o cambia tu form a GET


$nombre=$_POST['nombre']; //las declaro y las toma del formulario html
$email=$_POST['email']; // lo mismo jeje



un saludo

Última edición por jaronu; 14/10/2008 a las 07:30
  #7 (permalink)  
Antiguo 15/10/2008, 20:50
Avatar de acousticgerman  
Fecha de Ingreso: abril-2004
Ubicación: Merlo, buenos aires
Mensajes: 364
Antigüedad: 20 años
Puntos: 1
De acuerdo Respuesta: No me suben los archivos al servidor!

Jaronu-gatorV gracias a ambos por intentar ayudarme pero aùn no puedo solucionarlo con lo qeu me recomendaron

que puede ser?

Saludos
__________________
"Life goes on..."
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:29.