Foros del Web » Programando para Internet » PHP »

Guardar Archivos

Estas en el tema de Guardar Archivos en el foro de PHP en Foros del Web. Estoy intentando guardar un archivo en la base de datos y me sale el siguiente error: Warning: fread(): supplied argument is not a valid stream ...
  #1 (permalink)  
Antiguo 23/08/2005, 10:26
 
Fecha de Ingreso: abril-2005
Ubicación: colombia
Mensajes: 242
Antigüedad: 19 años
Puntos: 0
Guardar Archivos

Estoy intentando guardar un archivo en la base de datos y me sale el siguiente error:


Warning: fread(): supplied argument is not a valid stream resource in c:\inetpub\wwwroot\pruebaInsertar.php on line 11

Warning: fclose(): supplied argument is not a valid stream resource in c:\inetpub\wwwroot\pruebaInsertar.php on line 13

alguien sabe la respuesta

gracias
__________________
:aplauso: Ivomat
  #2 (permalink)  
Antiguo 23/08/2005, 10:30
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 5 meses
Puntos: 11
No funciono la llamada a fopen(), verifica esa linea. El archivo debe existir, debes tener permisos para leerlo, la ruta debe ser correcta.
  #3 (permalink)  
Antiguo 23/08/2005, 10:34
 
Fecha de Ingreso: abril-2005
Ubicación: colombia
Mensajes: 242
Antigüedad: 19 años
Puntos: 0
ese archivo lo escoge el usuario desde la aplicacion.
__________________
:aplauso: Ivomat
  #4 (permalink)  
Antiguo 23/08/2005, 10:37
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 5 meses
Puntos: 11
1. Imagino que el archivo está en el servidor.
2. Antes de llamar a fopen() haz esto:

Código PHP:
$archivo="miarchivo.ext";
if (
file_exists($archivo))
{
    
$fp=fopen($archivo,"r");
    ....

  #5 (permalink)  
Antiguo 23/08/2005, 10:40
 
Fecha de Ingreso: abril-2005
Ubicación: colombia
Mensajes: 242
Antigüedad: 19 años
Puntos: 0
no, tengo un formulario donde el usuario escoge el archivo que quiera
__________________
:aplauso: Ivomat
  #6 (permalink)  
Antiguo 23/08/2005, 10:47
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 5 meses
Puntos: 11
Ok, entonces el archivo que el usuario escoge está en su pc, por tanto tu no tienes acceso a este archivo con php. Lo que debes hacer es un formulario para subir el archivo y una vez subido a tu sitio podrás leerlo.

En este post http://www.forosdelweb.com/showthrea...9&page=2&pp=10, en las FAQ y en muchos otros post, existe informacion sobre como subir un archivo al servidor. Intenta con los ejemplos y te ayudo en lo que falte.
  #7 (permalink)  
Antiguo 23/08/2005, 10:50
 
Fecha de Ingreso: abril-2005
Ubicación: colombia
Mensajes: 242
Antigüedad: 19 años
Puntos: 0
Claudio lo estoy haciendo asi : archivito es el nombre del campo file en mi formulario

$archivo = $_FILES["archivito"]["tmp_name"];
$tamanio = $_FILES["archivito"]["size"];
$tipo = $_FILES["archivito"]["type"];
$nombre = $_FILES["archivito"]["name"];
$tituloArchivo = $_POST["archivito"];
if ( $archivo != "none" ){
$fp = fopen($archivo, "rb");
$contenido = fread($fp, $tamanio);
$contenido = addslashes($contenido);
fclose($fp);
}

gracias
__________________
:aplauso: Ivomat
  #8 (permalink)  
Antiguo 23/08/2005, 10:59
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 5 meses
Puntos: 11
Aun no lo haz subido, primero subelo y despues lo lees, asi:

Código PHP:
<?php
  $archivo 
$_FILES["archivito"]["tmp_name"];
  
$tamanio $_FILES["archivito"]["size"];
  
$tipo $_FILES["archivito"]["type"];
  
$nombre $_FILES["archivito"]["name"];
  
$tituloArchivo $_POST["archivito"];
  
  if(
is_uploaded_file($archivo))
  {
     
move_uploaded_file($archivo,"ruta_destino/$nombre");
     
$fp fopen("ruta_destino/$nombre""rb");
     
$contenido fread($fp$tamanio); 
     
$contenido addslashes($contenido);
     
fclose($fp);
  }
?>
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 08:02.