Foros del Web » Programando para Internet » PHP »

cargar datos de archivo a base de datos

Estas en el tema de cargar datos de archivo a base de datos en el foro de PHP en Foros del Web. Lo que deseo es almacenar un archivo en una base de datos, para ello disponfo de un formulio en cierretema.php para mostrar y extraer datos. ...
  #1 (permalink)  
Antiguo 24/06/2008, 14:23
 
Fecha de Ingreso: octubre-2005
Mensajes: 405
Antigüedad: 18 años, 6 meses
Puntos: 1
cargar datos de archivo a base de datos

Lo que deseo es almacenar un archivo en una base de datos, para ello disponfo de un formulio en cierretema.php para mostrar y extraer datos.
Pero al momento de subir los datos no se ejecuta correctamente subirdatos.php. Llendose por el ELSE ('Error al cargar el archivo'). Sabe alguien de ustedes a que de debe el problema; pues yo aun no lo descubro.
De ante mano cualquier ayuda se agradece.


Código PHP:
<?
$fechat
=$_REQUEST['fechat'];
$vart=explode('-',$fechat);
$var_fechat="$vart[2]-$vart[1]-$vart[0]";
$nombree=$_REQUEST['nombre'];
$itema=$_REQUEST['idtema'];
$tema=$_REQUEST['tema'];
$fecha=date("Y-m-d");
$var=explode('-',$fecha);
$var_fecha="$var[2]-$var[1]-$var[0]";
?>
<form name="form1" action="subirdatos.php?fechac=<? echo $fecha?>&idtema=<? echo $itema?>" method="post">
<table width=85% cellpadding=2 cellspacing=0 border=1 id=linea align=center>
  <tr class=Estilo2>
    <td width=18% id=linea>Fecha Tema</td>
    <td width=82% id=linea><? echo $var_fechat?></td>
  </tr>
  <tr class="Estilo2">
    <td id=linea>Expositor</td>
    <td id=linea><? echo $nombree?></td>
  </tr>
  <tr class="Estilo2">
    <td id=linea>Tema </td>
    <td id=linea><? echo $tema?></td>
  </tr>
  <tr class="Estilo2">
    <td id=linea valign="top">Fecha Cierre </td>
    <td id=linea><? echo $var_fecha?></td>
  </tr>
  <tr class="Estilo2">
    <td id=linea valign="top">Nombre Archivo</td>
    <td id=linea>
      <input type="text" name="nombre" />
      </td>
  </tr>
  <tr class="Estilo2">
    <td id=linea valign="top">Archivo Adjunto</td>
    <td id=linea>
      <input type="file" name="archivo" />
      </td>
  </tr>
  <tr class="Estilo2">
    <td id=linea colspan="2" align="center"><input name="volver" type="button" value="Volver" onclick="javascript:history.go(-1);"/>  
      &nbsp;<input name="envia" type="submit" value="Cerrar Tema"/></td>
  </tr>
</table>
</form>
******** subirdatos.php ***********

Código PHP:
<?
include("config.php");
$fechac=$_REQUEST['fechac'];
$idtema=$_REQUEST['idtema'];
$fh=fopen($_FILES['archivo']['tmp_name'],'r');
if(
$fh)
{
  
$archivo=fread($fhfilesize($_FILES['archivo']['tmp_name']));
  
fclose($fh);
  
//limpiamos el contenido
  
$archivo=addslashes($archivo);
  
$tipo$_FILES['archivo']['type'];
  
//nombre del archivo
  
if(empty($_POST['nombre']))
     
$nombre=sql_quote($_FILES['archivo']['name']);
  else
     
$nombre=$_POST['nombre'];
  
//insertar en base de datos
  
$sql="insert into cierre(tema, fecha_c, nombre, adjunto, tipo) values('$idtema','$fechac','$nombre','$archivo','$tipo')";
  
mysql_query($sql); 
  
header("Location: index.php"); 
}
else
  echo 
"Error al cargar el archivo</br>";
}
?>
  #2 (permalink)  
Antiguo 24/06/2008, 14:31
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: cargar datos de archivo a base de datos

Prueba cambiar esto:
Código PHP:
$fh=fopen($_FILES['archivo']['tmp_name'],'r') or die( "Error al abrir el archivo: " $_FILES['archivo']['tmp_name'] ); 
Para que veas la ruta y si puede o no abrir.

Saludos.
  #3 (permalink)  
Antiguo 24/06/2008, 14:32
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
Respuesta: cargar datos de archivo a base de datos

podrias tambn coliocar esto:

if(is_uploaded_file($_FILES['imagen']['tmp_name']))

saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #4 (permalink)  
Antiguo 24/06/2008, 14:53
 
Fecha de Ingreso: octubre-2005
Mensajes: 405
Antigüedad: 18 años, 6 meses
Puntos: 1
Respuesta: cargar datos de archivo a base de datos

Cita:
Iniciado por GatorV Ver Mensaje
Prueba cambiar esto:
Código PHP:
$fh=fopen($_FILES['archivo']['tmp_name'],'r') or die( "Error al abrir el archivo: " $_FILES['archivo']['tmp_name'] ); 
Para que veas la ruta y si puede o no abrir.

Saludos.
Gracias por pronta respuesta pero la opcion que me das para ver mensaje: no funciona.
Al parecer la variable donde traigo el archivo (archivo), viene sin informacion, porque al tratar de abrir ni siguiera me muestra el mensaje que me indicas.
Código PHP:
$fh=fopen($_FILES['archivo']['tmp_name'],'r') or die( "Error al abrir el archivo: " $_FILES['archivo']['tmp_name'] ); 
Alguna otra idea, desde ya gracias.
  #5 (permalink)  
Antiguo 24/06/2008, 15:05
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: cargar datos de archivo a base de datos

Verifica el valor de la directiva $_FILES['archivo']['error'] y compárala en el Manual de PHP.

Saludos.
  #6 (permalink)  
Antiguo 24/06/2008, 15:08
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
Respuesta: cargar datos de archivo a base de datos

Hola:

sera el peso del archivo mayor que el especificado en la configuracion del php.ini??
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
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:19.