Foros del Web » Programando para Internet » PHP »

Subir y almacenar archivos con PHP y MySQL

Estas en el tema de Subir y almacenar archivos con PHP y MySQL en el foro de PHP en Foros del Web. Buenas tardes amigos estoy tratando de colocar en practica un script PHP que encontré en internet para almacenar archivos en mi base de datos. El ...
  #1 (permalink)  
Antiguo 13/04/2014, 14:10
 
Fecha de Ingreso: septiembre-2013
Ubicación: Bogota
Mensajes: 139
Antigüedad: 11 años, 2 meses
Puntos: 0
Subir y almacenar archivos con PHP y MySQL

Buenas tardes amigos estoy tratando de colocar en practica un script PHP que encontré en internet para almacenar archivos en mi base de datos. El problema es que me salen dos errores y ademas al hacer el registro del archivo, en mi base de datos me aparecen once(11) registros de una vez con haber hecho tan solo un registro. Alguien me puede colaborar por favor:


Código PHP:
<?php include ('conex.php'); ?>
<html>
<title>Subir archivo</title>
<head></head>
<body>

<a href='subir.php' target="_self"><font color="#00009C">Cargar archivos</a><br>
<a href='listar.php' target="_self"><font color="#00009C">Listar archivos</a><br>
<a href='descargar.php' target="_self"><font color="#00009C">Descargar archivos</a><br>

<form enctype="multipart/form-data" name="index.php" method="post">
Descripci&oacute;n <input type="text" name="titulo" size="30">
Ubicaci&oacute;n <input type="file" name="archivito">
<input type="submit" value="Enviar archivo">
</form>

<?php 

 $archivo 
$_FILES["archivito"]["tmp_name"]; 
 
$tamanio $_FILES["archivito"]["size"];
 
$tipo    $_FILES["archivito"]["type"];
 
$nombre  $_FILES["archivito"]["name"];
 
$titulo  $_POST["titulo"];

 if ( 
$archivo != "none" )
 {
    
$fp fopen($archivo"rb");
    
$contenido fread($fp$tamanio);
    
$contenido addslashes($contenido);
    
fclose($fp); 

    
$qry "INSERT INTO archivos VALUES 
            (0,'$nombre','$titulo','$contenido','$tipo')"
;

    
mysql_query($qry);

    if(
mysql_affected_rows($link) > 0)
       print 
"Se ha guardado el archivo en la base de datos.";
    else
       print 
"NO se ha podido guardar el archivo en la base de datos.";
 }
 else
    print 
"No se ha podido subir el archivo al servidor";

?>


</body>
</html>
Errores que me salen:

Código HTML:
Ver original
  1. Warning: fread(): supplied argument is not a valid stream resource in C:\AppServ\www\UPLOAD_ARCHIVOS\subir.php on line 28
  2.  
  3. Warning: fclose(): supplied argument is not a valid stream resource in C:\AppServ\www\UPLOAD_ARCHIVOS\subir.php on line 30
  #2 (permalink)  
Antiguo 13/04/2014, 14:36
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Subir y almacenar archivos con PHP y MySQL

Hola Andrea, después de mucho tiempo. Para subir archivos a un servidor, puedes usar funciones como move_uploaded_file o copy, mientras que en la BD, guardas el nombre de la imagen subida y cuando quieras mostrarla en un futuro, solamente buscas su nombre en la BD y la 'jalas' desde el servidor.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 14/04/2014, 08:20
 
Fecha de Ingreso: septiembre-2013
Ubicación: Bogota
Mensajes: 139
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Subir y almacenar archivos con PHP y MySQL

Hola alexis gracias por tu respuesta pero la verdad quiero hacerlo de este modo y ya he buscado el error en Internet pero no logro leer algo concreto queme ayude a descifra por que me sale este error y como corregirlo. Me podrías colaborar por favor. Gracias
  #4 (permalink)  
Antiguo 20/04/2014, 09:31
 
Fecha de Ingreso: septiembre-2013
Ubicación: Bogota
Mensajes: 139
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Subir y almacenar archivos con PHP y MySQL

Hola alexis bueno estoy utilizando tu sugerencia pero tengo una duda. En que parte del codigo coloco el nombre de la carpeta para que se almacenen los archivos. Lo digo por que creé un directorio llamado directorio_archivos_movidos como lo dice en el ejemplo que encontre pero al subir los archivos no aparece nada en ese directorio. Dejo el codigo:

Cita:
<?php include ('conex.php'); ?>
<html>
<title>Subir archivo1</title>
<head></head>
<body>

<html>
<head>
<title>Formulario carga de archivos</title>
</head>
<body>

<form name="carga_archivos.php" method="post" enctype="multipart/form-data">

<input type="file" name="nombre_archivo_cliente" /><br />

<input type="submit" name="enviar" value="Enviar" />

</form>

</body>

</html>


</body>
</html>

<?php

if ($_POST["enviar"]){
if (is_uploaded_file($_FILES['nombre_archivo_cliente']['tmp_name']))
{
$nombreDirectorio = "/directorio_archivos_movidos";
$nombreFichero = $_FILES['nombre_archivo_cliente']['name'];

$nombreCompleto = $nombreDirectorio . $nombreFichero;
if (is_file($nombreCompleto))
{
$idUnico = time();
$nombreFichero = $idUnico . "-" . $nombreFichero;
}

move_uploaded_file($_FILES['nombre_archivo_cliente']['tmp_name'], $nombreDirectorio.$nombreFichero);

}
else{
print ("No se ha podido subir el fichero");
}
}
?>
  #5 (permalink)  
Antiguo 20/04/2014, 17:47
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Subir y almacenar archivos con PHP y MySQL

Te faltó agregar una barra inclinada / al final del nombre del directorio.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: almacenar, html, mysql, registro, sql
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 12:58.