3.000.000
İlan No:#341
İlan Tarihi:31 Ocak 2026
Oda:2+1
m²:100
İl / İlçe:
Balıkesir
Karesi
1
İlan No:#235
İlan Tarihi:12 Şubat 2026
Oda:4+2
m²:200
İl / İlçe:
Balıkesir
Edremit
1.800.000
İlan No:#304
İlan Tarihi:22 Haziran 2024
Oda:1+1
m²:65
İl / İlçe:
İstanbul
Fatih
7.500.000
İlan No:#95
İlan Tarihi:4 Mart 2026
Oda:4+1
m²:132
İl / İlçe:
Balıkesir
Edremit
14.000
İlan No:#359
İlan Tarihi:30 Ekim 2025
Oda:1+1
m²:1200
İl / İlçe:
Çanakkale
Biga
3.100.000
İlan No:#300
İlan Tarihi:8 Haziran 2024
Oda:2+1
m²:75
İl / İlçe:
İstanbul
Fatih
24.000.000
İlan No:#349
İlan Tarihi:12 Şubat 2026
Oda:4+3
m²:300
İl / İlçe:
Balıkesir
Edremit
2.500.000
İlan No:#254
İlan Tarihi:12 Şubat 2026
Oda:2+1
m²:55
İl / İlçe:
İstanbul
Fatih
2.000
İlan No:#301
İlan Tarihi:10 Haziran 2024
Oda:2+1
m²:90
İl / İlçe:
Balıkesir
Edremit
10.000.000
İlan No:#366
İlan Tarihi:12 Nisan 2026
Oda:2+2
m²:50
İl / İlçe:
Balıkesir
Edremit
1.850.000
İlan No:#77
İlan Tarihi:4 Mart 2026
Oda:2+1
m²:90
İl / İlçe:
Balıkesir
Karesi
İlan No:#122
İlan Tarihi:4 Mart 2026
Oda:3+1
m²:100
İl / İlçe:
Balıkesir
Edremit
40.000
İlan No:#111
İlan Tarihi:4 Mart 2026
Oda:1+1
m²:70
İl / İlçe:
Balıkesir
Edremit
820.000
İlan No:#222
İlan Tarihi:27 Şubat 2023
Oda:2+1
m²:80
İl / İlçe:
Balıkesir
Karesi
3.500.000
İlan No:#188
İlan Tarihi:10 Kasım 2022
Oda:4+1
m²:270
İl / İlçe:
Balıkesir
Edremit
16.000.000
İlan No:#169
İlan Tarihi:2 Eylül 2022
Oda:4+1
m²:350
İl / İlçe:
Balıkesir
Ayvalık
1.290.000
İlan No:#110
İlan Tarihi:26 Ağustos 2022
Oda:4+1
m²:206
İl / İlçe:
Konya
Selçuklu
6
İlan No:#153
İlan Tarihi:18 Ağustos 2022
Oda:2+1
m²:80
İl / İlçe:
Balıkesir
Ayvalık
525.000
İlan No:#145
İlan Tarihi:29 Haziran 2022
Oda:2+1
m²:95
İl / İlçe:
Balıkesir
Susurluk
1.350
İlan No:#141
İlan Tarihi:26 Haziran 2022
Oda:2+1
m²:90
İl / İlçe:
Muğla
Dalaman
1.000
İlan No:#140
İlan Tarihi:26 Haziran 2022
Oda:1+1
m²:60
İl / İlçe:
Muğla
Dalaman
500
İlan No:#138
İlan Tarihi:18 Haziran 2022
Oda:Stüdyo (1+0)
m²:40
İl / İlçe:
Ezine
2.520.000
İlan No:#137
İlan Tarihi:12 Haziran 2022
Oda:3+1
m²:125
İl / İlçe:
Balıkesir
Erdek
600
İlan No:#127
İlan Tarihi:28 Mayıs 2022
Oda:2+1
m²:85
İl / İlçe:
Balıkesir
Ayvalık
995.000
İlan No:#120
İlan Tarihi:20 Mayıs 2022
Oda:3+1
m²:140
İl / İlçe:
Mersin
Akdeniz
750.000
İlan No:#114
İlan Tarihi:14 Mayıs 2022
Oda:2+1
m²:90
İl / İlçe:
Tekirdağ
Çorlu
İlan No:#113
İlan Tarihi:14 Mayıs 2022
Oda:2+1
m²:105
İl / İlçe:
Balıkesir
Gömeç
250
İlan No:#108
İlan Tarihi:11 Mayıs 2022
Oda:2+1
m²:80
İl / İlçe:
Sakarya
Karasu
3.490.000
İlan No:#98
İlan Tarihi:27 Nisan 2022
Oda:3+1
m²:125+110
İl / İlçe:
Sakarya
Kocaali
*
* - Günlük ve toplam ziyaret sayar
* - 24 saat içinde aynı ziyaretçiyi tekrar saymaz (cookie)
* - Basit bot filtreleme (User-Agent kontrolü)
* - Güvenli dosya yazımı için flock() kullanır
*/
declare(strict_types=1);
// Sayaç verisinin tutulacağı dosya (web kullanıcısı yazabilir olmalı)
$dataFile = __DIR__ . '/counter-data.json';
// Basit bot filtresi (User-Agent)
$ua = $_SERVER['HTTP_USER_AGENT'] ?? '';
$isBot = (bool) preg_match('/bot|spider|crawl|slurp|fetch|crawler|mediapartners/i', $ua);
if ($isBot) {
// Botları sayma ama yine de mevcut sayıları gösterebiliriz.
echo renderCounter(readCounts($dataFile));
return;
}
// 24 saatlik tekil ziyaret için cookie
$cookieName = 'site_counter_seen';
$hasSeen = isset($_COOKIE[$cookieName]);
// Sayaç verisini oku/güncelle
$counts = readCounts($dataFile);
if (!$hasSeen) {
$counts = incrementCounts($dataFile, $counts);
// 24 saat boyunca tekrar sayma
setcookie($cookieName, '1', [
'expires' => time() + 86400,
'path' => '/',
'secure' => isset($_SERVER['HTTPS']),
'httponly' => true,
'samesite' => 'Lax',
]);
}
// HTML çıktı (isterseniz stilini değiştirin)
echo renderCounter($counts);
/** ----------------- Yardımcı Fonksiyonlar ----------------- */
function readCounts(string $file): array {
if (!is_file($file)) {
// Varsayılan yapı
return [
'total' => 0,
'daily' => [
date('Y-m-d') => 0,
],
'updatedAt' => time(),
];
}
$json = @file_get_contents($file);
if ($json === false) {
return ['total' => 0, 'daily' => [date('Y-m-d') => 0], 'updatedAt' => time()];
}
$data = json_decode($json, true);
if (!is_array($data)) {
$data = ['total' => 0, 'daily' => [], 'updatedAt' => time()];
}
// Bugünün anahtarı yoksa ekle
$today = date('Y-m-d');
if (!isset($data['daily'][$today])) {
$data['daily'][$today] = 0;
}
return $data;
}
function incrementCounts(string $file, array $counts): array {
$today = date('Y-m-d');
// Dosyayı aç/kilitle
$dir = dirname($file);
if (!is_dir($dir)) {
@mkdir($dir, 0775, true);
}
$fp = @fopen($file, 'c+');
if (!$fp) {
// Yazamıyorsak bellekte artırıp gösterelim
$counts['total']++;
$counts['daily'][$today] = ($counts['daily'][$today] ?? 0) + 1;
$counts['updatedAt'] = time();
return $counts;
}
// Özel: başka bir süreç yazarken yarış olmasın diye kilit
if (flock($fp, LOCK_EX)) {
// Güncel içeriği tekrar oku (bu arada değişmiş olabilir)
$current = stream_get_contents($fp);
if ($current !== false && $current !== '') {
$data = json_decode($current, true);
if (is_array($data)) {
$counts = $data + $counts; // eksik anahtarları koru
if (!isset($counts['daily'][date('Y-m-d')])) {
$counts['daily'][date('Y-m-d')] = 0;
}
}
}
// Artır
$counts['total'] = (int)($counts['total'] ?? 0) + 1;
$counts['daily'][$today] = (int)($counts['daily'][$today] ?? 0) + 1;
$counts['updatedAt'] = time();
// Baştan yaz
ftruncate($fp, 0);
rewind($fp);
fwrite($fp, json_encode($counts, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES));
fflush($fp);
flock($fp, LOCK_UN);
}
fclose($fp);
return $counts;
}
function renderCounter(array $counts): string {
$today = date('Y-m-d');
$total = number_format((int)($counts['total'] ?? 0), 0, ',', '.');
$todayCount = number_format((int)($counts['daily'][$today] ?? 0), 0, ',', '.');
// Basit, erişilebilir bir küçük footer bloğu
return <<
Bugün: {$todayCount}
•
Toplam: {$total}
HTML;
}