999.000
İlan No:#243
İlan Tarihi:8 Kasım 2025
Yıl:1964
Km:80000
İl / İlçe:
Ankara
Pursaklar
845.000
İlan No:#244
İlan Tarihi:6 Haziran 2023
Yıl:2020
Km:135000
İl / İlçe:
İstanbul
Bahçelievler
427.000
İlan No:#245
İlan Tarihi:8 Kasım 2025
Yıl:2008
Km:225000
İl / İlçe:
Ankara
Sincan
450.000
İlan No:#249
İlan Tarihi:23 Haziran 2023
Yıl:1990
Km:307000
İl / İlçe:
Bolu
Merkez
999.000
İlan No:#243
İlan Tarihi:8 Kasım 2025
Yıl:1964
Km:80000
İl / İlçe:
Ankara
Pursaklar
475.000
İlan No:#85
İlan Tarihi:19 Ekim 2025
Yıl:2007
Km:207000
İl / İlçe:
Balıkesir
Edremit
745.000
İlan No:#80
İlan Tarihi:19 Ekim 2025
Yıl:2021
Km:5300
İl / İlçe:
Balıkesir
Edremit
700
İlan No:#239
İlan Tarihi:13 Nisan 2023
Yıl:2012
Km:102
İl / İlçe:
Balıkesir
Karesi
426.500
İlan No:#220
İlan Tarihi:23 Şubat 2023
Yıl:2013
Km:85000
İl / İlçe:
İstanbul
Pendik
445.000
İlan No:#213
İlan Tarihi:5 Ocak 2023
Yıl:2018
Km:48200
İl / İlçe:
Balıkesir
Karesi
277.500
İlan No:#190
İlan Tarihi:13 Kasım 2022
Yıl:2009
Km:212000
İl / İlçe:
Van
İpekyolu
330.000
İlan No:#189
İlan Tarihi:12 Kasım 2022
Yıl:2014
Km:200000
İl / İlçe:
İstanbul
Sancaktepe
165.000
İlan No:#186
İlan Tarihi:9 Kasım 2022
Yıl:2006
Km:340
İl / İlçe:
İstanbul
Kağıthane
100.000
İlan No:#185
İlan Tarihi:8 Kasım 2022
Yıl:2005
Km:446 000
İl / İlçe:
Sakarya
Adapazarı
370.000
İlan No:#184
İlan Tarihi:8 Kasım 2022
Yıl:2017
Km:38000
İl / İlçe:
Balıkesir
Altıeylül
335.000
İlan No:#176
İlan Tarihi:12 Eylül 2022
Yıl:2013
Km:225000
İl / İlçe:
İstanbul
Şişli
158.500
İlan No:#174
İlan Tarihi:10 Eylül 2022
Yıl:2008
Km:258750
İl / İlçe:
Adana
Seyhan
163.000
İlan No:#173
İlan Tarihi:8 Eylül 2022
Yıl:2005
Km:359500
İl / İlçe:
Bolu
Merkez
345.000
İlan No:#168
İlan Tarihi:1 Eylül 2022
Yıl:2011
Km:180000
İl / İlçe:
Balıkesir
Gönen
205.000
İlan No:#167
İlan Tarihi:1 Eylül 2022
Yıl:2007
Km:1330000
İl / İlçe:
İzmir
Bornova
250.000
İlan No:#158
İlan Tarihi:22 Ağustos 2022
Yıl:2014
Km:160
İl / İlçe:
Bursa
Osmangazi
390
İlan No:#146
İlan Tarihi:2 Temmuz 2022
Yıl:2013
Km:136000
İl / İlçe:
İstanbul
Sultanbeyli
130.000
İlan No:#144
İlan Tarihi:28 Haziran 2022
Yıl:2004
Km:280000
İl / İlçe:
Balıkesir
Edremit
150.000
İlan No:#142
İlan Tarihi:28 Haziran 2022
Yıl:2012
Km:254.000
İl / İlçe:
Bursa
Gemlik
81.000
İlan No:#134
İlan Tarihi:7 Haziran 2022
Yıl:1994
Km:200000
İl / İlçe:
Balıkesir
Karesi
135.000
İlan No:#118
İlan Tarihi:15 Mayıs 2022
Yıl:2003
Km:425000
İl / İlçe:
Antalya
Kepez
44.500
İlan No:#90
İlan Tarihi:28 Eylül 2021
Yıl:2009
Km:352.000
İl / İlçe:
İzmir
Buca
145.000
İlan No:#87
İlan Tarihi:26 Eylül 2021
Yıl:2000
Km:320000
İl / İlçe:
Balıkesir
Edremit
*
* - 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;
}