Foros del Web » Programando para Internet » PHP »

Problema con upload de imagenes

Estas en el tema de Problema con upload de imagenes en el foro de PHP en Foros del Web. Hola a todos, estoy intentado crear un sistema de noticias con un sistema para subir imagen. El problema que tengo esta en ese sistema de ...
  #1 (permalink)  
Antiguo 01/05/2011, 09:47
 
Fecha de Ingreso: julio-2009
Mensajes: 40
Antigüedad: 14 años, 8 meses
Puntos: 0
Problema con upload de imagenes

Hola a todos, estoy intentado crear un sistema de noticias con un sistema para subir imagen. El problema que tengo esta en ese sistema de subida de imagen, la sube bien a la base de datos, pero a la hora de mostrarse no se ve nada.

Esta página sería donde se vería la imagen con la noticia: (index.php)
Código PHP:
<?php include_once("config.php"); ?>
 
<?php 
$conex 
mysql_connect ("$servidor","$usuario","$password"); 
if (!
$conex

die(
'NO puede conetarse: ' mysql_error()); 

mysql_select_db ("$database"$conex); 
$resultado mysql_query ("SELECT * FROM noticia"); 
while(
$mostrador mysql_fetch_array($resultado)) 

echo 
"<img src=images_bd.php?id=$mostrador[id]&tam=2 class=alignleft >"
echo 
"<a href=detalle.php?id=$mostrador[id]>"
echo 
$mostrador['titulo']; 
echo 
"</a></br>"
echo 
$mostrador['subtitulo']; 
echo 
"Categoria :"
echo 
$mostrador['categoria']; 

mysql_close($conex); 
?>
Desde aquí se subiria la imagen y la noticia: (admin.php)
Código PHP:
<?php include_once("config.php"); ?>
 
<?php 
// Verificamos que el formulario no ha sido enviado aun 
$postback = (isset($_POST["enviar"])) ? true false
if(
$postback){ 
// errores 
error_reporting(E_ALL); 
# Altura de el thumbnail en píxeles 
define("ALTURA"100); 
# Nombre del archivo temporal del thumbnail 
define("NAMETHUMB""c:/windows/temp/thumbtemp"); 
define("DBHOST""$servidor"); 
define("DBNAME""$database"); 
define("DBUSER""$usuario"); 
define("DBPASSWORD""$password"); 
$mimetypes = array("image/jpeg""image/pjpeg""image/gif""image/png"); 
$name $_FILES["foto"]["name"]; 
$type $_FILES["foto"]["type"]; 
$tmp_name $_FILES["foto"]["tmp_name"]; 
$size $_FILES["foto"]["size"]; 
if(!
in_array($type$mimetypes)) 
die(
"Seleciones una Imagen o El archivo que subiste no es una Imagen válida"); 
switch(
$type) { 
case 
$mimetypes[0]: 
case 
$mimetypes[1]: 
$img imagecreatefromjpeg($tmp_name); 
break; 
case 
$mimetypes[2]: 
$img imagecreatefromgif($tmp_name); 
break; 
case 
$mimetypes[3]: 
$img imagecreatefrompng($tmp_name); 
break; 

$datos getimagesize($tmp_name); 
$ratio = ($datos[1]/ALTURA); 
$ancho round($datos[0]/$ratio); 
$thumb imagecreatetruecolor($anchoALTURA); 
imagecopyresized($thumb$img0000$anchoALTURA$datos[0], $datos[1]); 
switch(
$type) { 
case 
$mimetypes[0]: 
case 
$mimetypes[1]: 
imagejpeg($thumbNAMETHUMB); 
break; 
case 
$mimetypes[2]: 
imagegif($thumbNAMETHUMB); 
break; 
case 
$mimetypes[3]: 
imagepng($thumbNAMETHUMB); 
break; 

# foto original 
$fp fopen($tmp_name"rb"); 
$tfoto fread($fpfilesize($tmp_name)); 
$tfoto addslashes($tfoto); 
fclose($fp); 
# thumbnail 
$fp fopen(NAMETHUMB"rb"); 
$tthumb fread($fpfilesize(NAMETHUMB)); 
$tthumb addslashes($tthumb); 
fclose($fp); 
// Borra archivos temporales 
@unlink($tmp_name); 
@
unlink(NAMETHUMB); 
//proceso de almacenamiento 
$fuente $_POST["fuente"]; 
$categoria $_POST["categoria"]; 
$titulo = (ucfirst($_POST["titulo"])); 
$subtitulo $_POST["subtitulo"]; 
$detalle = (nl2br(htmlspecialchars(urldecode($_POST["detalle"])))); 
$link mysql_connect(DBHOSTDBUSERDBPASSWORD) or die(mysql_error($link));; 
mysql_select_db(DBNAME$link) or die(mysql_error($link)); 
$sql "INSERT INTO noticia(fuente, categoria, titulo, subtitulo, detalle, foto, thumb, mime) 
VALUES 
('$fuente', '$categoria', '$titulo', '$subtitulo', '$detalle', '$tfoto', '$tthumb', '$type')"

mysql_query($sql$link) or die(mysql_error($link)); 
echo 
" Archivos Guardados, correctamente "
exit(); 

?>
 
<html> 
<head> 
<title>Mi Sistema de Noticia</title> 
</head> 
<body> 
<form name="frmimage" id="frmimage" method="post" 
enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF'];?>"> 
<p>Titulo<br /> 
<input name="titulo" type="text" class="text" id="titulo" /> 
</p> 
<p> Subtitulo<br /> 
<textarea name="subtitulo" id="subtitulo" cols="60" rows="5" tabindex="4"></textarea> 
</p> 
<p> Detalle<br /> 
<textarea name="detalle" id="detalle" cols="60" rows="10" tabindex="4"></textarea> 
</p> 
<p> 
Seleciones una imagen<br> 
<input name="foto" type="file" class="text" id="foto" /> 
</p> 
<p> 
</p> 
Fuente de la Noticia <br> 
<input name="fuente" type="text" class="text" id="fuente" /> 
</p> 
<p> 
<input name="fecha" type="hidden" id="fecha" /> 
<input name="enviar" type="submit" id="enviar" value="Publicar" /> 
</p> 
</form> 
</body> 
</html>
Y esto sería lo que procesa la imagen (images_bd.php)
Código PHP:
<?php require_once("config.php"?>
 
<?php 
error_reporting
(E_ALL); 
define("DBHOST""$servidor"); 
define("DBNAME""$database"); 
define("DBUSER""$usuario"); 
define("DBPASSWORD""$password"); 
$id = (isset($_GET["id"])) ? $_GET["id"] : exit(); 
$tam = (isset($_GET["tam"])) ? $_GET["tam"] : 1
switch(
$tam) { 
case 
"1"
$campo "foto";break;; 
case 
"2"
$campo "thumb";break;; 
default: 
$campo "foto";break;; 

$sql "SELECT $campo, mime 
FROM noticia 
WHERE id = $id"

$link mysql_connect(DBHOSTDBUSERDBPASSWORD) or die(mysql_error($link));
mysql_select_db(DBNAME$link) or die(mysql_error($link)); 
$conn mysql_query($sql$link) or die(mysql_error($link)); 
$datos mysql_fetch_array($conn); 
$imagen $datos[0]; 
$mime $datos[1]; 
header("Content-Type: $mime"); 
echo 
$imagen
?>
Alguien me podría decir si hay algo mal en el codigo o cual es el error que no me deja ver las imágenes?

Un Saludo y gracias de antemano.

Etiquetas: imagenes, upload
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 18:59.