İlan Puanı: 70/100 Erküptaş Bodrum Mehmet usta

Fotoğraflar yükleniyor

320
Fiyat GeçmişiGüncel: 320 TL
Son 1 fiyat hareketi
320 TL
İlan No 329
İlan Tarihi 19 Ocak 2025
Durum Sıfır
AI Karar Asistanı
Bu alan, ilanı benzerleri ve mevcut kriterleriyle birlikte yorumlayıp karar aşamasını hızlandırır.
AI Karar Asistanı henüz aktif değil. Yönetim panelinden OpenAI ayarını tamamlayınca burada analiz gösterilecek.
AI Analizini Getir

Erküptaş granit küptaş bodrum Mehmet usta 

Türkiye genelinde profesyonel ekip Bodrum Yalıkavak Mehmet çakır erküptaş 

Muğla Yalıkavak granit küptaş begonit küptaş Mehmet çakır https://erkuptas.com/hizmet-kuptas-uygulama-19

Yorumlar
510 kez görüntülendi.
İlan sahibi: Erküptaş Bodrum Mehmet usta
Ara WhatsApp
* * - 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; }