= NOW() - INTERVAL 20 MINUTE"; $title = "مباشر (آخر 20 دقيقة)"; } $savePath = __DIR__ . '/' . $fileName; // دالة تنظيف النصوص العربية وإصلاح الترميز function utf8ize($d) { if (is_array($d)) { foreach ($d as $k => $v) { $d[$k] = utf8ize($v); } } else if (is_string ($d)) { return mb_convert_encoding($d, 'UTF-8', 'UTF-8'); } return $d; } try { // إجبار قاعدة البيانات على ترميز UTF-8 if(isset($con)) { $con->exec("set names utf8mb4"); } // تنفيذ الاستعلام $sql = "SELECT * FROM `car_locations` WHERE $condition ORDER BY updated_at DESC"; $stmt = $con->prepare($sql); $stmt->execute(); $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); // تنظيف البيانات $cleanRows = utf8ize($rows); // تجهيز البيانات للحفظ $outputData = [ 'mode' => $mode, 'title' => $title, 'last_updated' => date('Y-m-d H:i:s'), 'count' => count($cleanRows), 'drivers' => $cleanRows ]; // تحويل إلى JSON $jsonContent = json_encode($outputData, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT); if ($jsonContent === false) { die("خطأ في تكوين JSON: " . json_last_error_msg()); } // حفظ الملف if (file_put_contents($savePath, $jsonContent) !== false) { echo "
"; echo "

✅ تم التحديث بنجاح!

"; echo "

الوضع: $title

"; echo "

اسم الملف: $fileName

"; echo "

عدد السائقين: " . count($cleanRows) . "

"; echo "
"; } else { die("فشل الكتابة في الملف. تأكد من صلاحيات المجلد."); } } catch (PDOException $e) { die("خطأ قاعدة بيانات: " . $e->getMessage()); } ?>