Autor Tema: Ayuda, con un programa en php  (Leído 316 veces)

Desconectado torposoplo

  • PHPerit@
  • *
  • Mensajes: 1
  • Karma: 0
  • Nuev@ PHPer@
    • Ver Perfil
Ayuda, con un programa en php
« en: 21 de Diciembre de 2013, 19:41:27 pm »
Buenos días, tardes, noches  :D. Soy nuevo en este foro, y primeramente, si estoy haciendo algo malo díganmelo.
   
   La cuestiona es la siguiente, estoy haciendo un pequeño programa en PHP (lenguaje que aun estoy aprendiendo a usar), para subir imágenes a la base de datos, mas bien lo que hago es guardar la ruta de la imagen que se guarda en el servidor, en este caso AppServ.
   
   Todo esto ya lo logre hacer, el problema es, que cuando guardo la ruta de una imagen y vuelvo a recargar la página del php se genera un nuevo registro con la imagen anteriormente subida, luego vuelvo a recargar y hace lo mismo, sin haber hecho nada antes . Les puedo facilita el código, que a mi parecer esta bastante sencillo (yo aprendí a programar con C#), pero aun no estoy acostumbrado a las funciones, ni a como se desarrolla este lenguaje en la web con todas las tecnologías que se pueden usar.

<?php
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);
}

$status = "";
if(isset($_POST['upload']))
{
// obtenemos los datos del archivo
$tamano = $_FILES["userfile"]['size'];
$tipo = $_FILES["userfile"]['type'];
$archivo = $_FILES["userfile"]['name'];
//$prefijo = substr(md5(uniqid(rand())),0,6);

if ($archivo != "") {
// guardamos el archivo a la carpeta files
$destino = "imagenes/".$archivo;
if (copy($_FILES['userfile']['tmp_name'],$destino)) {
   $status = "Archivo subido: <b>".$archivo."</b>";


   } else {
   $status = "Error al subir el archivo";
   }
   } else {
   $status = "Error al subir archivo";
   }


}

$connection=mysql_connect("localhost", "root", "") or die (mysql_error());
$db=mysql_select_db("iraleal",$connection)or die ("Error seleccionando la base de datos");


$query = "INSERT INTO inventario (contenido ) ".
"VALUES ( '$destino');";
mysql_query($query) or die('Error, query failed');
echo "<br>Imagen $fileName subida exitosamente <br>";

}

?>

<form action="subir.php" 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>



Comunidad PHPeros

Ayuda, con un programa en php
« en: 21 de Diciembre de 2013, 19:41:27 pm »

Desconectado rubencinho

  • PHPerit@
  • *
  • Mensajes: 6
  • Karma: 0
  • Nuev@ PHPer@
    • Ver Perfil
Re:Ayuda, con un programa en php
« Respuesta #1 en: 28 de Mayo de 2014, 19:24:43 pm »
Guardar archivos en bases de datos es un lío.

Te recomiendo que los guardes en el servidor con la variable global $_FILES, y en la base de datos guardas la ruta en la que está para que al recuperarlo puedas hacerlo desde la BBDD.

Saludos