Lid |
|
Hey,
Ik zit sinds kort met het volgende probleem in PHP: Wanneer ik (of andere gasten) een reactie op een nieuwsartikel posten, dan krijgen ze de volgende melding :
Citaat: Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 2077 bytes) in ****/cutenews/inc/functions.inc.php on line 222
in functions.inc.php staat een functie waarmee hij eerst alle content van een tekstbestand (comments.txt = 1.88 MB) in een array zet en vervolgens kijkt welke comments bij welk artikel hoort etc.
Maar deze foutmelding schrikt alleen maar af, want de reactie wordt wel gewoon gepost. Daarom zou ik graag willen weten hoe ik deze weg kan krijgen.
line 222:
<? else{ $all_comments = file("$cutepath/data/comments.txt"); } ?>
<? else{ $all_comments = file("$cutepath/data/comments.txt"); } ?>
De rest van de functie:
<?
////////////////////////////////////////////////////////
// Function: CountComments
// Description: Count How Many Comments Have a Specific Article
function CountComments($id, $archive = FALSE){
global $cutepath;
if($cutepath == ""){ $cutepath = "."; }
$result = "0";
if($archive){ $all_comments = file("$cutepath/data/archives/${archive}.comments.arch"); }
else{ $all_comments = file("$cutepath/data/comments.txt"); }
foreach($all_comments as $comment_line)
{
$comment_arr_1 = explode("|>|", $comment_line);
if($comment_arr_1[0] == $id)
{
$comment_arr_2 = explode("||", $comment_arr_1[1]);
$result = count($comment_arr_2)-1;
}
}
return $result;
} ?>
<? //////////////////////////////////////////////////////// // Function: CountComments // Description: Count How Many Comments Have a Specific Article function CountComments($id, $archive = FALSE){ if($cutepath == ""){ $cutepath = "."; } $result = "0"; if($archive){ $all_comments = file("$cutepath/data/archives/${archive}.comments.arch"); } else{ $all_comments = file("$cutepath/data/comments.txt"); } foreach($all_comments as $comment_line) { $comment_arr_1 = explode("|>|", $comment_line); if($comment_arr_1[0] == $id) { $comment_arr_2 = explode("||", $comment_arr_1[1]); $result = count($comment_arr_2)-1; } } return $result; } ?>
PS: Het is zoals je ziet maar een count functie, dus ik vind het wel vreemd dat het wel goed gaat bij het wegschrijven naar het bestand, en bij het tellen niet...
|