Foros del Web » Programando para Internet » PHP »

Upload de Imagenes

Estas en el tema de Upload de Imagenes en el foro de PHP en Foros del Web. Amigos tengo este script que me baje de la red para subir imagenes pero estaria faltando un php para mostrar la imagen, ojo no el ...
  #1 (permalink)  
Antiguo 04/01/2011, 14:25
 
Fecha de Ingreso: enero-2009
Mensajes: 246
Antigüedad: 15 años, 3 meses
Puntos: 1
Upload de Imagenes

Amigos tengo este script que me baje de la red para subir imagenes pero estaria faltando un php para mostrar la imagen, ojo no el texto con la extension sino la imagen. alguien podria ayudarme, copio el codigo que me baje:

subir.php

Código PHP:
<html>
<head>
<title>Upload File To MySQL Database</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.box {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    border: 1px solid #000000;
}
-->
</style>
</head>

<body>
<?
if(isset($_POST['upload']))
{
        
$fileName $_FILES['userfile']['name'];
        
$tmpName  $_FILES['userfile']['tmp_name'];
        
$fileSize $_FILES['userfile']['size'];
        
$fileType $_FILES['userfile']['type'];
        
        
$fp fopen($tmpName'r');
        
$content fread($fp$fileSize);
        
$content addslashes($content);
        
fclose($fp);
        
        if(!
get_magic_quotes_gpc())
        {
            
$fileName addslashes($fileName);
        }
        

        include 
'config.php';
        
$connection=mysql_connect("$bdservidor","$bdunombre","$bdpass")
or die(
"Error conectando a la base de datos");
$db=mysql_select_db("$bdnombre",$connection)
or die (
"Error seleccionando la base de datos");
        
        
$query "INSERT INTO upload (name, size, type, content ) ".
                 
"VALUES ('$fileName', '$fileSize', '$fileType', '$content')";

        
mysql_query($query) or die('Error, query failed');                    
        
        
        echo 
"<br>File $fileName uploaded<br>";
}        
?>
<form action="" method="post" enctype="multipart/form-data" name="uploadform">
  <table width="350" border="0" cellpadding="1" cellspacing="1" class="box">
    <tr> 
      <td width="246"><input type="hidden"
name="MAX_FILE_SIZE" value="2000000"><input name="userfile"
type="file" class="box" id="userfile">
         </td>
      <td width="80"><input name="upload" type="submit" class="box" id="upload" value="  Upload  "></td>
    </tr>
  </table>
</form>
</body>
</html>
bajar.php (este me muestra el texto con la extension pero no me sirve asi

Código PHP:
<?
if(isset($_GET['id']))
{
    include 
'config.php';
    
$connection=mysql_connect("$bdservidor","$bdunombre","$bdpass")
or die(
"Error conectando a la base de datos");
$db=mysql_select_db("$bdnombre",$connection)
or die (
"Error seleccionando la base de datos");

    
$id      $_GET['id'];
    
$query   "SELECT name, type, size, content FROM upload WHERE id = '$id'";
    
$result  mysql_query($query) or die('Error, query failed');
    list(
$name$type$size$content) = mysql_fetch_array($result);

    
header("Content-Disposition: attachment; filename=$name");
    
header("Content-length: $size");
    
header("Content-type: $type");
    echo 
$content;

    exit;
}

?>
<html>
<head>
<title>Download File From MySQL</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?
include 'config.php';
$connection=mysql_connect("$bdservidor","$bdunombre","$bdpass")
or die(
"Error conectando a la base de datos");
$db=mysql_select_db("$bdnombre",$connection)
or die (
"Error seleccionando la base de datos");

$query  "SELECT id, name FROM upload";
$result mysql_query($query) or die('Error, query failed');
if(
mysql_num_rows($result) == 0)
{
    echo 
"Database is empty <br>";

else
{
    while(list(
$id$name) = mysql_fetch_array($result))
    {
?>
    <a href="download.php?id=<?=$id;?>"><?=$name;?></a> <br>
<?        
    
}
}
?>
</body>
</html>
download.php

Código PHP:
<?
if(isset($_GET['id']))
{
    include 
'config.php';
$connection=mysql_connect("$bdservidor","$bdunombre","$bdpass")
or die(
"Error conectando a la base de datos");
$db=mysql_select_db("$bdnombre",$connection)
or die (
"Error seleccionando la base de datos");

    
$id      $_GET['id'];
    
$query   "SELECT name, type, size, content FROM upload WHERE id = '$id'";
    
$result  mysql_query($query) or die('Error, query failed');
    list(
$name$type$size$content) = mysql_fetch_array($result);

    
header("Content-Disposition: attachment; filename=$name");
    
header("Content-length: $size");
    
header("Content-type: $type");
    echo 
$content;

    exit;
}

?>
<html>
<head>
<title>Download File From MySQL</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?
include 'config.php';
$connection=mysql_connect("$bdservidor","$bdunombre","$bdpass")
or die(
"Error conectando a la base de datos");
$db=mysql_select_db("$bdnombre",$connection)
or die (
"Error seleccionando la base de datos");

$query  "SELECT id, name FROM upload";
$result mysql_query($query) or die('Error, query failed');
if(
mysql_num_rows($result) == 0)
{
    echo 
"Database is empty <br>";

else
{
    while(list(
$id$name) = mysql_fetch_array($result))
    {
?>
    <a href="download.php?id=<?=$id;?>"><?=$name;?></a> <br>
<?        
    
}
}
?>
</body>
</html>

Base de Datos:

Código PHP:
CREATE TABLE upload (
    
id INT NOT NULL AUTO_INCREMENT,
    
name VARCHAR(30NOT NULL,
    
type VARCHAR(30NOT NULL,
    
size INT NOT NULL,
    
content MEDIUMBLOB NOT NULL,
    
PRIMARY KEY(id)
    ); 

Saludos y gracias
  #2 (permalink)  
Antiguo 04/01/2011, 14:29
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Upload de Imagenes

por lo general, los scripts que generan cabeceras binarias, como de un archivo -puede ser imagen- deben mostrarse con su respectiva etiqueta HTML...

vamos, que si abres un documento HTML no puedes imprimir una imagen -su información binaria- ahí, pues se imprimirían caracteres extraños...

entonces, ¿cual es la etiqueta encargada de mostrar imágenes?

he ahí...
Código HTML:
<img src="script_que_crea_la_imagen.php?id=99"/> 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 04/01/2011, 14:40
 
Fecha de Ingreso: enero-2009
Mensajes: 246
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Upload de Imagenes

Gracias por la data.

Saludos

Última edición por hollowmanf; 04/01/2011 a las 14:49

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 17:23.