Ciao, questo e' l'errore che mi da' il mio script
codice:
Fatal error: Allowed memory size of 8388608 bytes exhausted
(tried to allocate 3193043 bytes)
in /home/urs/dir/index-help.php on line 35
Si tratta di uno script abbastanza semplice, che pero' fa una cosa mostruosa...
ho memorizzato in un file <fileindex.txt> 8768 url di documenti HTML, lo script deve leggere ogni linea, e con la funzione file_get_contents() memorizzare il contenuto di ogni URL in una stringa e metterlo dentro un database. Ho anche splittato il file in pezzi da 200 linee, ma il risultato non cambia.
Ho quindi due domande:
1) come faccio ad evitare che mi dia quell'errore?
2) sto facendo la cosa giusta? c'e' un modo meno oneroso per ottenere lo stesso risultato?
Lo script
Codice PHP:
#file che contiene le url
$what = "fileindex.txt";
#apro il file e ottengo in $buffer la URL
$fd = fopen($what, "r");
while (!feof ($fd)) {
$url = fgets($fd, 4096);
$url = str_replace("./","",$url );
$url = "http://127.0.0.1/home/urs/dir/".$url;
$url = str_replace("\n","",$url );
# corpo del documento
$body = file_get_contents($url);
# data
$data = date("d-m-Y");
#aggiungi
$sql = "INSERT into myhelp (url,corpo,data)";
$sql.= "VALUES ('$url', '$body', '$data')";
mysql_query($sql, $db);
echo "
[b]Ho aggiunto[/b]
";
echo $url."</p>";
}
fclose($fd);