Cargar imágenes en una base de datos - ayuda necesaria

  • gromituk2k
  • Newbie
  • Newbie
  • Avatar de Usuario
  • Registrado: Jun 29, 2009
  • Mensajes: 14
  • Loc: West Yorkshire, England
  • Status: Offline

Nota Julio 3rd, 2009, 1:54 am

Estoy tratando de subir imágenes a una base de datos MySQL, junto con algunos otros datos.

La página HTML, que contiene la carga de este aspecto:
Código: [ Select ]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
 
<body>
<form method="post" action="insert.php" enctype="multipart/form-data">
    <p>Your name:<br>
    <input type="text" name="form_visitor"  size="40">
    <br>Loved ones name:<br>
    <input type="text" name="form_lovedone"  size="40">
    <input type="hidden" name="MAX_FILE_SIZE" value="1000000">
    <br>File to upload/store in database:<br>
    <input type="file" name="form_data"  size="40">
    <br>Comments:<br>
    <input type="text" name="form_comment" size="50">
    </p>
    <input type="submit" name="submit" value="submit">
</form>
</body>
</html>
 
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Untitled Document</title>
  6. </head>
  7.  
  8. <body>
  9. <form method="post" action="insert.php" enctype="multipart/form-data">
  10.     <p>Your name:<br>
  11.     <input type="text" name="form_visitor"  size="40">
  12.     <br>Loved ones name:<br>
  13.     <input type="text" name="form_lovedone"  size="40">
  14.     <input type="hidden" name="MAX_FILE_SIZE" value="1000000">
  15.     <br>File to upload/store in database:<br>
  16.     <input type="file" name="form_data"  size="40">
  17.     <br>Comments:<br>
  18.     <input type="text" name="form_comment" size="50">
  19.     </p>
  20.     <input type="submit" name="submit" value="submit">
  21. </form>
  22. </body>
  23. </html>
  24.  


Y el archivo PHP para agregar los datos es semejante a éste:
Código: [ Select ]
<?php
$con = mysql_connect("localhost","user","pass");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
 
mysql_select_db("database_name", $con);
 
if(!$data = addslashes(@fread(@fopen($dir.'/'.$file, "r"), @filesize($dir.'/'.$file)))){
   die('Cannot create $data');
}
 
@fclose($dir.'/'.$file);
 
$sql="INSERT INTO commentbook (visitor , lovedone, bin_data, filename, filesize, filetype, comment, id)
VALUES
('$_POST[form_visitor]','$_POST[form_lovedone]','$_POST[data]','$_POST[form_data_name]','$_POST[form_data_size]','$_POST[form_data_type]','$_POST[form_comment]','')";
 
if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
echo "1 record added";
 
mysql_close($con)
?>
  1. <?php
  2. $con = mysql_connect("localhost","user","pass");
  3. if (!$con)
  4.   {
  5.   die('Could not connect: ' . mysql_error());
  6.   }
  7.  
  8. mysql_select_db("database_name", $con);
  9.  
  10. if(!$data = addslashes(@fread(@fopen($dir.'/'.$file, "r"), @filesize($dir.'/'.$file)))){
  11.    die('Cannot create $data');
  12. }
  13.  
  14. @fclose($dir.'/'.$file);
  15.  
  16. $sql="INSERT INTO commentbook (visitor , lovedone, bin_data, filename, filesize, filetype, comment, id)
  17. VALUES
  18. ('$_POST[form_visitor]','$_POST[form_lovedone]','$_POST[data]','$_POST[form_data_name]','$_POST[form_data_size]','$_POST[form_data_type]','$_POST[form_comment]','')";
  19.  
  20. if (!mysql_query($sql,$con))
  21.   {
  22.   die('Error: ' . mysql_error());
  23.   }
  24. echo "1 record added";
  25.  
  26. mysql_close($con)
  27. ?>


He tenido la forma de cargar todos los datos, excepto la imagen, pero en la actualidad no se carga nada :(

¿Alguna idea?
  • Anonymous
  • Bot
  • No Avatar
  • Registrado: 25 Feb 2008
  • Mensajes: ?
  • Loc: Ozzuland
  • Status: Online

Nota Julio 3rd, 2009, 1:54 am

  • Rabid Dog
  • Web Master
  • Web Master
  • Avatar de Usuario
  • Registrado: May 21, 2004
  • Mensajes: 3229
  • Loc: South Africa
  • Status: Offline

Nota Julio 3rd, 2009, 11:53 am

He escrito un tutorial sobre este

Salida http://www.rabiddog.co.za/tutorial.php? ... usingMySQL

Dame un grito, si usted necesita ayuda
Watch me grow
  • gromituk2k
  • Newbie
  • Newbie
  • Avatar de Usuario
  • Registrado: Jun 29, 2009
  • Mensajes: 14
  • Loc: West Yorkshire, England
  • Status: Offline

Nota Julio 6th, 2009, 1:19 am

Me parece que conseguir una inesperada "en la siguiente línea;

VALUES ( "". Addslashes ($ dataRead) "",

Alguna idea?
  • Rabid Dog
  • Web Master
  • Web Master
  • Avatar de Usuario
  • Registrado: May 21, 2004
  • Mensajes: 3229
  • Loc: South Africa
  • Status: Offline

Nota Julio 6th, 2009, 2:34 am

¿Ha hecho algún trabajo con PHP?

Código: [ Select ]
 
$query = "INSERT INTO ImageTable(imageData,imageType)
          VALUES(\"" . addslashes($dataRead) . "\",
                 \"" . mysql_escape_string($fType) . "\");";
 
  1.  
  2. $query = "INSERT INTO ImageTable(imageData,imageType)
  3.           VALUES(\"" . addslashes($dataRead) . "\",
  4.                  \"" . mysql_escape_string($fType) . "\");";
  5.  


Tenía las barras y puntos en que, tal parece que el director que escribí inicialmente llevaron a cabo. Así que he fijado el tutorial. Gracias por señalarlo
Watch me grow
  • gromituk2k
  • Newbie
  • Newbie
  • Avatar de Usuario
  • Registrado: Jun 29, 2009
  • Mensajes: 14
  • Loc: West Yorkshire, England
  • Status: Offline

Nota Julio 6th, 2009, 3:07 am

Hmm aún no funciona, ni siquiera obtener los errores ahora, simplemente no subir a la base de datos.

Este es el PHP que estoy utilizando:

Código: [ Select ]
 
<?php
$server = "localhost";
$username = "username";
$password = "password";
 
$dbHandle = mysql_connect($server,$username,$password)
            or die("unable to conect to database server");
 
mysql_select_db("database_name")
                or die ("Couldn't use Database");
 
 
$upload= (empty($_FILES['image'])) ? 0 : $_FILES['image'];
$fileName = $upload['tmp_name'];
$fType = $upload['type'];
$size = $upload['size'];
$timer = $size * 1024;
set_time_limit($timer);
 
$open = fopen($fileName,"r");
$data_read = fread($open, $size);
fclose($open);
$query = "INSERT INTO ImageTable(imageData,imageType)
          VALUES(\"" . addslashes($dataRead) . "\",
                 \"" . mysql_escape_string($fType) . "\");";
?>
 
  1.  
  2. <?php
  3. $server = "localhost";
  4. $username = "username";
  5. $password = "password";
  6.  
  7. $dbHandle = mysql_connect($server,$username,$password)
  8.             or die("unable to conect to database server");
  9.  
  10. mysql_select_db("database_name")
  11.                 or die ("Couldn't use Database");
  12.  
  13.  
  14. $upload= (empty($_FILES['image'])) ? 0 : $_FILES['image'];
  15. $fileName = $upload['tmp_name'];
  16. $fType = $upload['type'];
  17. $size = $upload['size'];
  18. $timer = $size * 1024;
  19. set_time_limit($timer);
  20.  
  21. $open = fopen($fileName,"r");
  22. $data_read = fread($open, $size);
  23. fclose($open);
  24. $query = "INSERT INTO ImageTable(imageData,imageType)
  25.           VALUES(\"" . addslashes($dataRead) . "\",
  26.                  \"" . mysql_escape_string($fType) . "\");";
  27. ?>
  28.  
  • Rabid Dog
  • Web Master
  • Web Master
  • Avatar de Usuario
  • Registrado: May 21, 2004
  • Mensajes: 3229
  • Loc: South Africa
  • Status: Offline

Nota Julio 6th, 2009, 3:38 am

¿Puede eco algunos datos para poder depurar esta cosa? Prehaps eco de cosas como el tamaño del archivo, etc

Asimismo, asegurar que los $ POST claves del índice coinciden con los nombres que les han dado en la forma. Veo que usted ha contratado $ POST [ "imagen"] en el que debería ser de $ POST [ "form_data"].

Usted va a tener que ajustar la secuencia de comandos que se encuentran en la página de tutoriales para adaptarse a sus necesidades. gif "alt =":)" title =" Smile ">

Si usted lee el tutorial entero usted se daría cuenta de que la estructura de la tabla es

Código: [ Select ]
[ImageTable]
id (bigint, primary key)
imageData (blob)
imageType (varchar(50))
  1. [ImageTable]
  2. id (bigint, primary key)
  3. imageData (blob)
  4. imageType (varchar(50))


y la estructura de forma es
Código: [ Select ]
< form method="post" action="uploadImage.php"
enctype="multipart/form-data">
< input type="file" name="image" />
< input type="submit" value=" Upload " />
< /form>
  1. < form method="post" action="uploadImage.php"
  2. enctype="multipart/form-data">
  3. < input type="file" name="image" />
  4. < input type="submit" value=" Upload " />
  5. < /form>
Watch me grow
  • gromituk2k
  • Newbie
  • Newbie
  • Avatar de Usuario
  • Registrado: Jun 29, 2009
  • Mensajes: 14
  • Loc: West Yorkshire, England
  • Status: Offline

Nota Julio 6th, 2009, 4:45 am

Hmm, he intentado haciéndose eco de los datos y yo estoy con la obtención de resultados que, algo como esto;
tamaño - 4388
nombre del temporal - / tmp/phpLl1740
tipo - image / gif


Yo también he cambiado algo en el archivo PHP, como me di cuenta de un par de problemas, así que ahora utilizando:
Código: [ Select ]
<?php
$server = "localhost";
$username = "username";
$password = "pass";

$dbHandle = mysql_connect($server,$username,$password)
            or die("Unable to conect to database server");

mysql_select_db("datbase-name")
                or die ("Couldn't use Database");

$upload= (empty($_FILES['image'])) ? 0 : $_FILES['image'];
$fileName = $upload['tmp_name'];
$fType = $upload['type'];
$size = $upload['size'];
$timer = $size * 1024;
set_time_limit($timer);

$open = fopen($fileName,"r");
$data_read = fread($open, $size);
fclose($open);
$query = "INSERT INTO commentbook(imageData,imageType)
         VALUES(\"" . addslashes($data_read) . "\",
                \"" . mysql_escape_string($fType) . "\");";
        
echo "size - $size";
echo "</br>";
echo "temp name - $fileName";
echo "</br>";
echo "type - $fType";

?>
  1. <?php
  2. $server = "localhost";
  3. $username = "username";
  4. $password = "pass";
  5. $dbHandle = mysql_connect($server,$username,$password)
  6.             or die("Unable to conect to database server");
  7. mysql_select_db("datbase-name")
  8.                 or die ("Couldn't use Database");
  9. $upload= (empty($_FILES['image'])) ? 0 : $_FILES['image'];
  10. $fileName = $upload['tmp_name'];
  11. $fType = $upload['type'];
  12. $size = $upload['size'];
  13. $timer = $size * 1024;
  14. set_time_limit($timer);
  15. $open = fopen($fileName,"r");
  16. $data_read = fread($open, $size);
  17. fclose($open);
  18. $query = "INSERT INTO commentbook(imageData,imageType)
  19.          VALUES(\"" . addslashes($data_read) . "\",
  20.                 \"" . mysql_escape_string($fType) . "\");";
  21.         
  22. echo "size - $size";
  23. echo "</br>";
  24. echo "temp name - $fileName";
  25. echo "</br>";
  26. echo "type - $fType";
  27. ?>


La base es establecer los mismos que los suyos, además de el nombre de tabla, que he cambiado. Así que parece que hay un problema con la inserción en la tabla???
  • Rabid Dog
  • Web Master
  • Web Master
  • Avatar de Usuario
  • Registrado: May 21, 2004
  • Mensajes: 3229
  • Loc: South Africa
  • Status: Offline

Nota Julio 6th, 2009, 4:58 am

Hahahhahaha Acabo de notar que ahora no ejecutar la consulta! Usted tiene que ejecutar la consulta contra la base de datos para ponerlo en el PP :) la variable $ consulta es sólo una instrucción SQL con formato.

Si marca la página de tutoriales que se vincula a una página que le indica cómo ejecutar consultas en la base de datos MySQL
Código: [ Select ]
// execute your query against the database here.
// Connecting to a MySql Database
  1. // execute your query against the database here.
  2. // Connecting to a MySql Database


http://www.rabiddog.co.za/tutorial.php? ... qlDatabase
Watch me grow
  • gromituk2k
  • Newbie
  • Newbie
  • Avatar de Usuario
  • Registrado: Jun 29, 2009
  • Mensajes: 14
  • Loc: West Yorkshire, England
  • Status: Offline

Nota Julio 6th, 2009, 5:39 am

¿Puedes decir soy un poco nuevo en este :D

Gracias, que parece de la multa trabajado.

He añadido algunos campos más a la base de datos y añadido estos a la forma. He intentado añadir estos a la consulta INSERT, dtabase las entradas y las entradas del formulario, como este:

Código: [ Select ]
$query = "INSERT INTO commentbook(imageData,imageType,visitor,lovedone,comment)
         VALUES(\"" . addslashes($data_read) . "\",
                \"" . mysql_escape_string($fType) . "\",
                visitor,
                lovedone,
                comment);";
  1. $query = "INSERT INTO commentbook(imageData,imageType,visitor,lovedone,comment)
  2.          VALUES(\"" . addslashes($data_read) . "\",
  3.                 \"" . mysql_escape_string($fType) . "\",
  4.                 visitor,
  5.                 lovedone,
  6.                 comment);";


Pero no hubo suerte, las imágenes aún se han añadido, pero la información que otros no lo es.
  • Rabid Dog
  • Web Master
  • Web Master
  • Avatar de Usuario
  • Registrado: May 21, 2004
  • Mensajes: 3229
  • Loc: South Africa
  • Status: Offline

Nota Julio 6th, 2009, 6:00 am

Código: [ Select ]
$query = "INSERT INTO commentbook(imageData,imageType,visitor,lovedone,comment)
         VALUES(\"" . addslashes($data_read) . "\",
                \"" . mysql_escape_string($fType) . "\",
                visitor,
                lovedone,
                comment);";
  1. $query = "INSERT INTO commentbook(imageData,imageType,visitor,lovedone,comment)
  2.          VALUES(\"" . addslashes($data_read) . "\",
  3.                 \"" . mysql_escape_string($fType) . "\",
  4.                 visitor,
  5.                 lovedone,
  6.                 comment);";


¿dónde estás asignando valores a los visitantes, lovedone y comentarios que desee insertar? Prehaps puedo ayudar al explicar la estructura de la consulta

Código: [ Select ]
$query = "INSERT INTO commentbook(imageData,imageType,visitor,lovedone,comment)
         VALUES(\"" . addslashes($data_read) . "\",
                \"" . mysql_escape_string($fType) . "\",
                visitor,
                lovedone,
                comment);";
//commentbook(imageData,imageType,visitor,lovedone,comment)
//commentbook is the name of the table
//imageData, imageType, visitor, lovedone, comment are the names of
//the columns that data is going to be inserted into

//Anything between the VALUES brackets needs to be assigned a value
//so $data_read contains the byte array, $fType contains the file type value
// visitor should be declared something to the effect of $visitor etc
  1. $query = "INSERT INTO commentbook(imageData,imageType,visitor,lovedone,comment)
  2.          VALUES(\"" . addslashes($data_read) . "\",
  3.                 \"" . mysql_escape_string($fType) . "\",
  4.                 visitor,
  5.                 lovedone,
  6.                 comment);";
  7. //commentbook(imageData,imageType,visitor,lovedone,comment)
  8. //commentbook is the name of the table
  9. //imageData, imageType, visitor, lovedone, comment are the names of
  10. //the columns that data is going to be inserted into
  11. //Anything between the VALUES brackets needs to be assigned a value
  12. //so $data_read contains the byte array, $fType contains the file type value
  13. // visitor should be declared something to the effect of $visitor etc


Yo sólo puedo ayudar si usted enviar el formulario que está utilizando para que pueda ver los valores de nombre de su entrada

Justo en el cierre de esta entrada de su consulta podría ser mejor como este
Código: [ Select ]
$query = "INSERT INTO commentbook(imageData,imageType,visitor,lovedone,comment)
         VALUES(\"" . addslashes($data_read) . "\",
                \"" . mysql_escape_string($fType) . "\",
                \"" . mysql_escape_string($visitor) . "\",
                \"" . mysql_escape_string($lovedone) . "\",
                \"" . mysql_escape_string($comment) . "\");";
  1. $query = "INSERT INTO commentbook(imageData,imageType,visitor,lovedone,comment)
  2.          VALUES(\"" . addslashes($data_read) . "\",
  3.                 \"" . mysql_escape_string($fType) . "\",
  4.                 \"" . mysql_escape_string($visitor) . "\",
  5.                 \"" . mysql_escape_string($lovedone) . "\",
  6.                 \"" . mysql_escape_string($comment) . "\");";


Podría entrar en detalles sobre la creación de una cadena con formato de plantilla y el retorno de una cadena con formato a diferencia de dinámica concating toda la cadena, pero pensé que sería mantenerlo simple o ahora Prueba de lo anterior y ver lo que happenes
Watch me grow
  • George L.
  • Bronze Member
  • Bronze Member
  • No Avatar
  • Registrado: Nov 05, 2007
  • Mensajes: 2206
  • Loc: Malaysia
  • Status: Offline

Nota Julio 6th, 2009, 6:05 am

gromituk2k escribió:
Estoy tratando de subir imágenes a una base de datos MySQL, junto con algunos otros datos.

La página HTML, que contiene la carga de este aspecto:
Código: [ Select ]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
 
<body>
<form method="post" action="insert.php" enctype="multipart/form-data">
    <p>Your name:<br>
    <input type="text" name="form_visitor"  size="40">
    <br>Loved ones name:<br>
    <input type="text" name="form_lovedone"  size="40">
    <input type="hidden" name="MAX_FILE_SIZE" value="1000000">
    <br>File to upload/store in database:<br>
    <input type="file" name="form_data"  size="40">
    <br>Comments:<br>
    <input type="text" name="form_comment" size="50">
    </p>
    <input type="submit" name="submit" value="submit">
</form>
</body>
</html>
 
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Untitled Document</title>
  6. </head>
  7.  
  8. <body>
  9. <form method="post" action="insert.php" enctype="multipart/form-data">
  10.     <p>Your name:<br>
  11.     <input type="text" name="form_visitor"  size="40">
  12.     <br>Loved ones name:<br>
  13.     <input type="text" name="form_lovedone"  size="40">
  14.     <input type="hidden" name="MAX_FILE_SIZE" value="1000000">
  15.     <br>File to upload/store in database:<br>
  16.     <input type="file" name="form_data"  size="40">
  17.     <br>Comments:<br>
  18.     <input type="text" name="form_comment" size="50">
  19.     </p>
  20.     <input type="submit" name="submit" value="submit">
  21. </form>
  22. </body>
  23. </html>
  24.  


Y el archivo PHP para agregar los datos es semejante a éste:
Código: [ Select ]
<?php
$con = mysql_connect("localhost","user","pass");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
 
mysql_select_db("database_name", $con);
 
if(!$data = addslashes(@fread(@fopen($dir.'/'.$file, "r"), @filesize($dir.'/'.$file)))){
   die('Cannot create $data');
}
 
@fclose($dir.'/'.$file);
 
$sql="INSERT INTO commentbook (visitor , lovedone, bin_data, filename, filesize, filetype, comment, id)
VALUES
('$_POST[form_visitor]','$_POST[form_lovedone]','$_POST[data]','$_POST[form_data_name]','$_POST[form_data_size]','$_POST[form_data_type]','$_POST[form_comment]','')";
 
if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
echo "1 record added";
 
mysql_close($con)
?>
  1. <?php
  2. $con = mysql_connect("localhost","user","pass");
  3. if (!$con)
  4.   {
  5.   die('Could not connect: ' . mysql_error());
  6.   }
  7.  
  8. mysql_select_db("database_name", $con);
  9.  
  10. if(!$data = addslashes(@fread(@fopen($dir.'/'.$file, "r"), @filesize($dir.'/'.$file)))){
  11.    die('Cannot create $data');
  12. }
  13.  
  14. @fclose($dir.'/'.$file);
  15.  
  16. $sql="INSERT INTO commentbook (visitor , lovedone, bin_data, filename, filesize, filetype, comment, id)
  17. VALUES
  18. ('$_POST[form_visitor]','$_POST[form_lovedone]','$_POST[data]','$_POST[form_data_name]','$_POST[form_data_size]','$_POST[form_data_type]','$_POST[form_comment]','')";
  19.  
  20. if (!mysql_query($sql,$con))
  21.   {
  22.   die('Error: ' . mysql_error());
  23.   }
  24. echo "1 record added";
  25.  
  26. mysql_close($con)
  27. ?>


He tenido la forma de cargar todos los datos, excepto la imagen, pero en la actualidad no se carga nada :(

¿Alguna idea?


Hay una solución simple a esto. No estoy seguro si estoy oyendo bien o que está haciendo una cosa totalmente diferente.

¿Puede usted decirme, ¿qué es exactamente lo que quiere hacer con la imagen?
  • Rabid Dog
  • Web Master
  • Web Master
  • Avatar de Usuario
  • Registrado: May 21, 2004
  • Mensajes: 3229
  • Loc: South Africa
  • Status: Offline

Nota Julio 6th, 2009, 6:10 am

Él está tratando de subir una imagen al servidor y escribir en la base de datos junto con algunas otras variables. Escribir los datos a la base de datos es la clave aquí :)
Watch me grow
  • George L.
  • Bronze Member
  • Bronze Member
  • No Avatar
  • Registrado: Nov 05, 2007
  • Mensajes: 2206
  • Loc: Malaysia
  • Status: Offline

Nota Julio 6th, 2009, 6:15 am

Bueno, este es "perezoso" el trabajo aquí, pero no creo que usted y que le gusta. :)

Yo sólo voy a detenerme aquí.

/ * ¿Es que sólo va a almacenar las imágenes en la base de datos, perro rabioso?

:)
  • gromituk2k
  • Newbie
  • Newbie
  • Avatar de Usuario
  • Registrado: Jun 29, 2009
  • Mensajes: 14
  • Loc: West Yorkshire, England
  • Status: Offline

Nota Julio 6th, 2009, 6:19 am

Parece estar logrando el más extraño de los problemas de ahora. Los campos adicionales que he añadido, ONLT el primer carácter es cada vez añadido a la base de datos.

El PHP que estoy usando es el siguiente:

Código: [ Select ]
 
<?php
 
$server = "localhost";
$username = "user";
$password = "pass";
 
$dbHandle = mysql_connect($server,$username,$password)
            or die("Unable to conect to database server");
 
mysql_select_db("databse-name")
                or die ("Couldn't use Database");
 
$upload= (empty($_FILES['image'])) ? 0 : $_FILES['image'];
$fileName = $upload['tmp_name'];
$fType = $upload['type'];
$size = $upload['size'];
$timer = $size * 1024;
set_time_limit($timer);
$visitor = $visitor['visitor'];
$lovedone = $lovedone['lovedone'];
$comment = $comment['comment'];
 
$open = fopen($fileName,"r");
$data_read = fread($open, $size);
fclose($open);
$query = "INSERT INTO commentbook(id,imageData,imageType,visitor,lovedone,comment)
          VALUES(\"" . addslashes($data_read) . "\",
                 \"" . mysql_escape_string($fType) . "\",
                 \"" . mysql_escape_string($fType) . "\",
                 \"" . mysql_escape_string($visitor) . "\",
                 \"" . mysql_escape_string($lovedone) . "\",
                 \"" . mysql_escape_string($comment) . "\");";
 
mysql_query($query, $dbHandle);
if(mysql_affected_rows($dbHandle) > 0){
  echo "Successfully inserted data </br>";
}else{
  echo mysql_error();
}
 
echo "size - $size";
echo "</br>";
echo "temp name - $fileName";
echo "</br>";
echo "type - $fType";
 
?>
  1.  
  2. <?php
  3.  
  4. $server = "localhost";
  5. $username = "user";
  6. $password = "pass";
  7.  
  8. $dbHandle = mysql_connect($server,$username,$password)
  9.             or die("Unable to conect to database server");
  10.  
  11. mysql_select_db("databse-name")
  12.                 or die ("Couldn't use Database");
  13.  
  14. $upload= (empty($_FILES['image'])) ? 0 : $_FILES['image'];
  15. $fileName = $upload['tmp_name'];
  16. $fType = $upload['type'];
  17. $size = $upload['size'];
  18. $timer = $size * 1024;
  19. set_time_limit($timer);
  20. $visitor = $visitor['visitor'];
  21. $lovedone = $lovedone['lovedone'];
  22. $comment = $comment['comment'];
  23.  
  24. $open = fopen($fileName,"r");
  25. $data_read = fread($open, $size);
  26. fclose($open);
  27. $query = "INSERT INTO commentbook(id,imageData,imageType,visitor,lovedone,comment)
  28.           VALUES(\"" . addslashes($data_read) . "\",
  29.                  \"" . mysql_escape_string($fType) . "\",
  30.                  \"" . mysql_escape_string($fType) . "\",
  31.                  \"" . mysql_escape_string($visitor) . "\",
  32.                  \"" . mysql_escape_string($lovedone) . "\",
  33.                  \"" . mysql_escape_string($comment) . "\");";
  34.  
  35. mysql_query($query, $dbHandle);
  36. if(mysql_affected_rows($dbHandle) > 0){
  37.   echo "Successfully inserted data </br>";
  38. }else{
  39.   echo mysql_error();
  40. }
  41.  
  42. echo "size - $size";
  43. echo "</br>";
  44. echo "temp name - $fileName";
  45. echo "</br>";
  46. echo "type - $fType";
  47.  
  48. ?>


Y la forma HTML es:

Código: [ Select ]
 
<form method="post" action="insert.php"
 enctype="multipart/form-data">
  <p>
  <input type="file" name="image" />
  </p>
  <p>
          Name:
      <input type="text" name="visitor" />
  </p>
  <p>
    Loved one:
    <input type="text" name="lovedone"/>
  </p>
  <p>
      Comment:
      <textarea name="comment" cols="45" rows="5"></textarea>
  </p>
  <p>
    <input type="submit" value=" Upload " />
  </p>
</form>
 
  1.  
  2. <form method="post" action="insert.php"
  3.  enctype="multipart/form-data">
  4.   <p>
  5.   <input type="file" name="image" />
  6.   </p>
  7.   <p>
  8.           Name:
  9.       <input type="text" name="visitor" />
  10.   </p>
  11.   <p>
  12.     Loved one:
  13.     <input type="text" name="lovedone"/>
  14.   </p>
  15.   <p>
  16.       Comment:
  17.       <textarea name="comment" cols="45" rows="5"></textarea>
  18.   </p>
  19.   <p>
  20.     <input type="submit" value=" Upload " />
  21.   </p>
  22. </form>
  23.  


Las entradas adicionales en la mesa son dos varchar (50) y uno LONGTEXT.
  • Rabid Dog
  • Web Master
  • Web Master
  • Avatar de Usuario
  • Registrado: May 21, 2004
  • Mensajes: 3229
  • Loc: South Africa
  • Status: Offline

Nota Julio 6th, 2009, 6:23 am

George L. escribió:
Bueno, este es "perezoso" el trabajo aquí, pero no creo que usted y que le gusta. :)

Yo sólo voy a detenerme aquí.

/ * ¿Es que sólo va a almacenar las imágenes en la base de datos, perro rabioso?

:)


Sí es :)
Watch me grow
  • Anonymous
  • Bot
  • No Avatar
  • Registrado: 25 Feb 2008
  • Mensajes: ?
  • Loc: Ozzuland
  • Status: Online

Nota Julio 6th, 2009, 6:23 am

Publicar Información

  • Total de mensajes en este tema: 33 mensajes
  • Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 105 invitados
  • No puede abrir nuevos temas en este Foro
  • No puede responder a temas en este Foro
  • No puede editar sus mensajes en este Foro
  • No puede borrar sus mensajes en este Foro
  • No puede enviar adjuntos en este Foro
 
 

© 2011 Unmelted, LLC. Ozzu® es una marca registrada de Unmelted, LLC