|  |  | 
| EnderUNIX İpucuArkadaşıma gönder , Ana Sayfa[ PHP ] "Loglardan iki karakter arasındaki verileri toplamak" - Gokhan TOPLAR - (2006-07-04 00:14:05) [337] 7.3 GB boyunda dev bir log dosyamız olsun. Bu dosyada < ve > karakterleri arasında yer alan bilgiyi başka bir dosyaya almak istiyoruz. Aşağıdaki php betiği bu işe yaramaktadır. // Fonksiyon icin Morgan Galpin'e tesekkurler function returnSubstrings($text, $openingMarker, $closingMarker) { $openingMarkerLength = strlen($openingMarker); $closingMarkerLength = strlen($closingMarker); $result = ""; $position = 0; while (($position = strpos($text, $openingMarker, $position)) !== false) { $position += $openingMarkerLength; if (($closingMarkerPosition = strpos($text, $closingMarker, $position)) !== false) { $result = substr($text, $position, $closingMarkerPosition - $position); $position = $closingMarkerPosition + $closingMarkerLength; } } return $result; } $count_and_print = 1; // Open your very large file to pointer $handle = @fopen("sizin_log_dosyasi_adi", "r"); if ($handle) { while (!feof($handle)) { // Her seferde kucuk bir kismi al $buffer = fgets($handle, 4096); // Bunu buffera yolla // Buradaki < ve > karakteri yerine arama yapilacak olanlari koyun $result = returnSubstrings($buffer, "<", ">"); // Her bir satirda null varsa kontrol et ve yazma if ($result != null) { echo "S. No: " .$count_and_print. " E-posta: ".$result. "\n"; $count_and_print++; } } } fclose($handle); echo "EOF"; ?> Arkadaşıma gönder , Ana Sayfa |  |