Foros del Web » Programando para Internet » PHP »

Error Fread

Estas en el tema de Error Fread en el foro de PHP en Foros del Web. Hola gente, tengo un problema: Tengo un formulario desde un panell de administracion k me he hecho. En el formulario intento leer un archivo txt ...
  #1 (permalink)  
Antiguo 08/10/2010, 08:29
 
Fecha de Ingreso: mayo-2008
Mensajes: 253
Antigüedad: 16 años, 5 meses
Puntos: 8
Error Fread

Hola gente, tengo un problema:

Tengo un formulario desde un panell de administracion k me he hecho.
En el formulario intento leer un archivo txt para despues su modificacion, pero me da este error no tengo ni idea de como solucionarlo.

EL ERROR ES ESTE

Cita:
Warning: fread() [function.fread]: Length parameter must be greater than 0 in /homepages/32/d247160554/htdocs/DEMG.COM/PIZZ/administracion/uploadpizz.php on line 66
Y EL CODIGO ESTE:

Cita:
<?php
if(isset($_POST["submit"])){
if(@$fp = fopen("archivo.txt", "w")){
fwrite($fp, stripslashes($newdata));
fclose($fp);
} else {
exit ("<h1>Error</h1>\n<p>No se puede escribir el archivo, asegurate que los permisos son correctos(CHMOD 777).</p>");
}
}

if($fp = fopen("archivo.txt", "r")){
$data = fread($fp, filesize("archivo.txt"));
fclose($fp);
} else {
$data = "";
exit ("<h1>Error</h1>\n<p>No se puede escribir el archivo, asegurate que los permisos son correctos(CHMOD 777).</p>");
}
?>

<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
<fieldset>
<legend>Editar "archivo.txt"</legend>
<label>Contenido <strong>Archivo.txt</strong>:<br><textarea name="newdata" rows="50" cols="100"><?php
echo $data;
?></textarea></label><br>
<label><input type="submit" name="submit" value="Guardar"></label>
</fieldset>
</form>
</body>
Os doy las gracias de antemano
  #2 (permalink)  
Antiguo 08/10/2010, 08:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Error Fread

No es un error con fread, si el archivo no existe filesize te va a devolver 0, por ende te sale ese error, tu tienes que pasarle un tamaño mayor a 0.

Saludos.
  #3 (permalink)  
Antiguo 08/10/2010, 08:44
 
Fecha de Ingreso: mayo-2008
Mensajes: 253
Antigüedad: 16 años, 5 meses
Puntos: 8
me podrias explicar un poquitin mas...? es k estoy algo pegada

he leido un poco por ahi y puede k le falte un include a la funcion ?????

Última edición por GatorV; 08/10/2010 a las 09:08
  #4 (permalink)  
Antiguo 08/10/2010, 09:08
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Error Fread

No, como te digo, si filesize() te regresa 0, entonces te da el error, verifica que el archivo tenga contenido, o haz un if() antes y comprueba que el valor de filesize sea mayor a 0 antes de pasarlo por fread.

Saludos.
  #5 (permalink)  
Antiguo 08/10/2010, 09:13
 
Fecha de Ingreso: mayo-2008
Mensajes: 253
Antigüedad: 16 años, 5 meses
Puntos: 8
Respuesta: Error Fread

gracias gator, pero ya es demasiado para mi jajaja me pierdo, ya intentare buscar la solucion
  #6 (permalink)  
Antiguo 08/10/2010, 09:39
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Error Fread

Es simple, mira un pseudocodigo:
Código:
tamaño = filesize();
if (tamaño > 0) {
       data =  leer_archivo();
} else {
       data = "";
}
Saludos.

Etiquetas: Ninguno
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 22:42.