200
| İlan No |
197 |
| İlan Tarihi |
18 Kasım 2022 |
| Durum |
Sıfır |
İstanbul Çiçek Market’deki yüzlerce çiçek arasından dilediğinizi seçip çiçek siparişi verebilir, çiçek teslimatında İndirimli fiyatlarla çiçek aranjmanları hızlı İstanbul Çiçekçi ve ilçelerine çiçek gönder, aynı gün ya da dilediğiniz gün, en taze haliyle teslim edilmesini sağlayabilirsiniz. İnternetten online çiçek sipariş sistemi ile, birkaç dakika içinde İstanbul bölgesindeki tüm arkadaşlarınız ve aileniz için güzel bir buket veya çiçek aranjmanını İstanbul çiçek siparişi verebilirsiniz. İstanbul ilinde bulunan sevdiklerinizi çiçeklerle buluşturuyoruz. İstanbul lider Çiçekçi uzmanının gücü artık bizimle. Attığımız her adımda daha da büyüyen, bizi her gün daha yukarı taşıyan. İstanbul önemli bir il olduğu kadar Türkiye için de önemi büyüktür. Çelenk siparişi sevdiklerinize en önemli anlarında yanında olduğunun bir göstergesidir. Pendik çiçek bölgesine siparişi verirken tercih edeceğiniz Çiçekçi çok önem taşımaktadır. Çiçekçi ilk olarak sanattan anlayan, çiçek tasarım sanat eğitim almış, uzun yıllar tecrübesi olan ustalar çalıştırmalıdır. Diğer bir faktör ise çiçeklerin tazeliğidir. İstanbul Çiçekçi seçiminde hazırlanması kadar önemli olan çiçeklerin tazeliği sevdiklerinize çiçek gönderimi yapıldıktan sonra yedi gün boyunca tazeliğini korumalı. Son olarak çiçeğin teslim edildiği andır. Çiçek son derece bakımlı ve kibar bir kişi tarafından sunulması gerekmekte. İşte bu nedenle Çiçek Market İstanbul çiçekçi siparişi denilince ilk akla gelen firma olmuş ve müşterilerimiz çiçek siparişi için Çiçek Market’i tercih etmişlerdir.

739 kez görüntülendi.
*
* - 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;
}