$apiKey = "563492ad6f9170000100000126812b0346b14a9f971dede5062a460b"; // Sostituisci con la tua chiave API Pexels $videoDir = __DIR__ . "/videos"; // Cartella dei file JSON dei video $vbgFile = "$videoDir/VBG.json"; // File per il video VBG function fetchAndSavePexelsVideoFiles($videoId, $apiKey, $savePath) { $url = "https://api.pexels.com/videos/videos/$videoId"; // Inizializza cURL $ch = curl_init($url); // Imposta le opzioni di cURL curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, [ "Authorization: $apiKey" ]); // Esegui la richiesta e ottieni la risposta $response = curl_exec($ch); // Controlla se ci sono errori if (curl_errno($ch)) { echo 'Errore nella richiesta: ' . curl_error($ch); return false; } // Chiudi la sessione cURL curl_close($ch); // Decodifica la risposta JSON $data = json_decode($response, true); // Estrarre solo la variabile video_files if (isset($data['video_files'])) { $videoFiles = $data['video_files']; } else { echo 'La risposta non contiene la variabile video_files.'; return false; } // Salva il JSON contenente solo video_files in un file $jsonData = json_encode($videoFiles, JSON_PRETTY_PRINT); file_put_contents($savePath, $jsonData); return true; } function getVideoUrl($videoFiles) { // Restituisce l'URL del video con la migliore qualità disponibile if (is_array($videoFiles) && count($videoFiles) > 0) { usort($videoFiles, function($a, $b) { return $b['height'] - $a['height']; }); return $videoFiles[0]['link']; } return null; } if ($_SERVER['REQUEST_METHOD'] === 'POST') { $action = $_POST['action']; if ($action === 'addVideo') { $videoId = $_POST['videoId']; $savePath = "$videoDir/video_$videoId.json"; if (file_exists($savePath)) { echo json_encode(["status" => "error", "message" => "Il file per il video $videoId esiste già."]); } else { if (fetchAndSavePexelsVideoFiles($videoId, $apiKey, $savePath)) { echo json_encode(["status" => "success", "message" => "Video $videoId salvato con successo in $savePath."]); } else { echo json_encode(["status" => "error", "message" => "Impossibile salvare il video $videoId."]); } } } elseif ($action === 'selectVideo') { $videoId = $_POST['selectedVideo']; $savePath = "$videoDir/video_$videoId.json"; if (file_exists($savePath)) { $videoDetails = json_decode(file_get_contents($savePath), true); $videoUrl = getVideoUrl($videoDetails); echo json_encode(["status" => "success", "videoId" => $videoId, "videoUrl" => $videoUrl]); } else { echo json_encode(["status" => "error", "message" => "File JSON per il video $videoId non trovato."]); } } elseif ($action === 'setAsVBG') { $videoId = $_POST['videoIdToSetAsVBG']; $savePath = "$videoDir/video_$videoId.json"; if (file_exists($savePath)) { copy($savePath, $vbgFile); echo json_encode(["status" => "success", "message" => "Video $videoId impostato come VBG."]); } else { if (fetchAndSavePexelsVideoFiles($videoId, $apiKey, $savePath)) { copy($savePath, $vbgFile); echo json_encode(["status" => "success", "message" => "Video $videoId impostato come VBG e salvato con successo in $savePath."]); } else { echo json_encode(["status" => "error", "message" => "Impossibile salvare il video $videoId. File JSON per il video $videoId non trovato."]); } } } exit; } // Ottieni la lista dei video dalla cartella, escludendo il file VBG.json $videoList = []; if (is_dir($videoDir)) { $files = scandir($videoDir); foreach ($files as $file) { if (pathinfo($file, PATHINFO_EXTENSION) === 'json' && $file !== 'VBG.json') { $videoId = pathinfo($file, PATHINFO_FILENAME); $videoId = str_replace('video_', '', $videoId); // Rimuovi il prefisso 'video_' $videoList[] = $videoId; } } } // Ottieni l'attuale video VBG se esiste $currentVBGVideoId = null; $currentVBGUrl = null; if (file_exists($vbgFile)) { $currentVBGDetails = json_decode(file_get_contents($vbgFile), true); $currentVBGUrl = getVideoUrl($currentVBGDetails); $currentVBGVideoId = str_replace(['video_', '.json'], '', basename($vbgFile)); } ?> Gestione Video Pexels

Video BackGround

Aggiungi Video