Merhaba,

Bişr web sitesindeki linklerin veya belirli bri içeriğin eçkilmesi konusunda http://www.jonasjohn.de/lab/htmlsql.htm sayfasındaki örneğe de bakabilirsiniz.

Selamlar...

15.12.2010 10:37, Guychmyrat Amanmyradov yazmış:
Merhabalar.
Aşağıdaki gibi kodum var. Yaptığı işlem bir gazeteden sürekli olarak haberleri çekip belli bir kısmını veritabanına yazmak. Ben değişkenleri while içinde unset yapıp tekrar oluştursam da sanırım bellekten silmiyor bunu. Haliyle bellek şişiyor.

Eğer
 ini_set('memory_limit', '512M');

kullanırsam 512 dolduruyor ve program duruyor. Bellek doldu diye. Eğer onu kullanmaz isem bilgisayar kullanılamaz hale geliyor, yani belleği dolduruyor ve sonra tüm bilgisayar belleği bitince duruyor.

Bunu nasıl kontrol edebilirim acaba?

Şimdiden teşekkürler.



   for($i = 1; $i <2000; $i++)
   {
                $currentLink  = "";
                $html = "";
                $counter = 0;
                $result[] = "";
                $sonuc = "";

$currentLink = "http://www.abc.com/?newsId=".$linkObj->convertToDobuleDigit($i);

                $html = file_get_html($currentLink);



if ( preg_match("/font class=\"detail-spot\">/i", $html)) {



                    foreach($html->find('font[class=detail-spot]') as $e)
                    {
$sonuc .= preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $e->innertext);

                    }

                    $time = date('y-m-d H:i:s', strtotime("now"));
mysql_query("insert into ztext(content, link, time) Values('" . $linkObj->removeUndefinedChars( addslashes( $sonuc ) ). "', '".$currentLink."', '".$time."') ");


                    echo "yazilanlink :  ".$currentLink." \n\t";


                }
                else
                {
                    $lastlinkok = false;
                   echo "currentlink : ".$currentLink." \n\t";
                }

               unset($counter);
               unset($currentLink);
               unset($html);
               unset($sonuc);

               echo "---------------------------------------------------";
               echo "Using ", memory_get_peak_usage(1), " bytes of ram.";


   }



_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php
_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php

Cevap