Foros del Web » Programando para Internet » PHP »

problema con fread con archivos muy grandes

Estas en el tema de problema con fread con archivos muy grandes en el foro de PHP en Foros del Web. buenas que tal, queria saber si hay un limite para abrir archivos de texto ya que lo abri de 2 maneras y no me muestra ...
  #1 (permalink)  
Antiguo 10/04/2008, 13:14
 
Fecha de Ingreso: marzo-2007
Mensajes: 180
Antigüedad: 17 años, 1 mes
Puntos: 0
Pregunta problema con fread con archivos muy grandes

buenas que tal,
queria saber si hay un limite para abrir archivos de texto

ya que lo abri de 2 maneras y no me muestra nada, pero si al archivo lo abro de un editor y dejo pocas lineas lo abre y muestra bien


Código PHP:
$archivo "mw.txt";

if (
file_exists($archivo))
{
    
$array file($archivo);
    for (
$i=0;$i<count($array);$i++)
    {
        
$largo=strlen($array[$i]);
        echo 
"el elemento $i es: $array[$i]<br>";
        echo 
"largo: ".$largo."<br>";
    }
}
else
{
    echo 
"no se pudo abrir el archivo<br>";


y el otro es:

Código PHP:
$archivo "mw.txt";

$fp fopen($archivo,'r');

//leemos el archivo
$texto fread($fpfilesize($archivo));

//transformamos los saltos de línea en etiquetas <br>
$texto nl2br($texto);

echo 
$texto
desde ya agradezco de antemano
  #2 (permalink)  
Antiguo 11/04/2008, 15:45
 
Fecha de Ingreso: marzo-2007
Mensajes: 180
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: problema con fread con archivos muy grandes

nadie tiene idea ?

yo supongo q sobrepasa algun buffer y por eso no lo hace.

habra otra manera ?
  #3 (permalink)  
Antiguo 11/04/2008, 16:30
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Re: problema con fread con archivos muy grandes

intenta cargarlo con file_get_contents()
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #4 (permalink)  
Antiguo 12/04/2008, 19:03
 
Fecha de Ingreso: junio-2007
Ubicación: por ahi
Mensajes: 262
Antigüedad: 16 años, 9 meses
Puntos: 4
Re: problema con fread con archivos muy grandes

Realmente si hay limites en PHP para Parametros. casi todos son configurables en el archivo php.ini.

habria que verificar bien por cual motivo no esta imprimiendo en la pantalla. Para esto es importnante que el reporte de errores y avisos este habilitado para ese script. Muchas intalacion por defecto no muestran todos los errores posible, pues no es recomendado en produccion que estos errores se vean en la pantalla del cliente final.
__________________
Hernando Saenz Sanchez
  #5 (permalink)  
Antiguo 14/04/2008, 13:08
 
Fecha de Ingreso: marzo-2007
Mensajes: 180
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: problema con fread con archivos muy grandes

como puedo hacer para ver cual seria el error, porque no me muestra nada en pantalla

la configuracion en php.ini tengo esto
post_max_size = 50M
upload_max_filesize = 50M

que estaban en 32MB pero lo subi, el archivo pesa 34MB



lo ultimo q probe es esto y me pasa exactamente lo mismo

Código PHP:
<html>
<head>

</head>
<body>

<?php

$archivo 
"mw.dict";

$file explode("\r\n"file_get_contents($archivo));
$arreglo "";
foreach (
$file as $key)
{
        
$arreglo .= $key "<br />\r\n";
}
echo 
$arreglo;


?>


</body>
</html>
  #6 (permalink)  
Antiguo 23/04/2008, 07:19
 
Fecha de Ingreso: junio-2007
Ubicación: por ahi
Mensajes: 262
Antigüedad: 16 años, 9 meses
Puntos: 4
Re: problema con fread con archivos muy grandes

error_reporting(E_ALL);
__________________
Hernando Saenz Sanchez
  #7 (permalink)  
Antiguo 23/04/2008, 07:34
 
Fecha de Ingreso: marzo-2007
Mensajes: 180
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: problema con fread con archivos muy grandes

Cita:
Iniciado por hernandos Ver Mensaje
error_reporting(E_ALL);
me da muchos de estos :
Notice: Undefined offset: 3 in /home/xxx/public_html/pruebas/xxx.php on line 52

pero a esa linea no le veo errores:
Código PHP:
            ${'matriz'.$newentry}[3].=substr($textline,strpos($textline,"]")+1); // Definicion 
el error de memoria es:

Cita:
Fatal error: Out of memory (allocated 254541824) (tried to allocate 103 bytes) in /home/xxxx/public_html/pruebas/xxxx.php on line 66
la linea 66 como otras muchas anteriores pasan valor del archivo a una matriz, esto es para luego trabajar sobre la matriz para hacer varias cosas
Código PHP:
            ${'matriz'.$newentry}[3].=$textline

Última edición por anibal_cdf; 23/04/2008 a las 07:40
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 19:29.