error: Allowed memory size of 8388608 bytes exhausted
Har et lille script, der parser en XML fil.. og alt virker vel, men hvis jeg smider en del af koden i en funktion, så får jeg, af en uransagelig årsag, fejlen:--> Allowed memory size of 8388608 bytes exhausted..
Har forgæves prøvet:
ini_set("memory_limit","12M"); (også med +100M)
indholdet af parseXML($file) virker, hvis det ligger udenfor function .. !!
<?php
function GetElementByName ($xml, $start, $end) {
global $pos;
$startpos = strpos($xml, $start);
if ($startpos === false) {
return false;
}
$endpos = strpos($xml, $end);
$endpos = $endpos+strlen($end);
$pos = $endpos;
$endpos = $endpos-$startpos;
$endpos = $endpos - strlen($end);
$tag = substr ($xml, $startpos, $endpos);
$tag = substr ($tag, strlen($start));
return $tag;
}
function parseXML($file){
$pos = 0;
$Nodes = array();
if (!($fp = fopen($file, "r"))) {
die("could not open XML input");
}
while ($getline = fread($fp, 4096)) {
$data = $data . $getline;
}
$count = 0;
$pos = 0;
while ($node = GetElementByName($data, "<bookmark>", "</bookmark>")) {
$Nodes[$count] = $node;
$count++;
$data = substr($data, $pos);
}
for ($i=0; $i<$count; $i++) {
$code = GetElementByName($Nodes[$i], "<bookmark>", "</bookmark>");
$desc = GetElementByName($Nodes[$i], "<description>", "</description>");
$name = GetElementByName($Nodes[$i], "<name>", "</name>");
$url = GetElementByName($Nodes[$i], "<url>", "</url>");
print $name. " ".$url;
}
}
//nada.. virker ikke
parseXML("Bookmarks.xml");
?>
det mærkligste php error hidtil :(
Hjælp ..
Takker
