open($zip_filepath, ZIPARCHIVE::CREATE) !== TRUE) { exit("Cannot open <$zip_filepath>\n"); } loadAndZip("watchlist/movies/", "watchlist_movies.txt"); loadAndZip("watchlist/shows/", "watchlist_shows.txt"); loadAndZip("watchlist/episodes/", "watchlist_episodes.txt"); loadAndZip("watchlist/seasons/", "watchlist_seasons.txt"); loadAndZip("ratings/movies/", "ratings_movies.txt"); loadAndZip("ratings/shows/", "ratings_shows.txt"); loadAndZip("ratings/episodes/", "ratings_episodes.txt"); loadAndZip("ratings/seasons/", "ratings_seasons.txt"); loadAndZip("collection/movies/", "library_collection_movies.txt"); loadAndZip("collection/shows/", "library_collection_shows.txt"); loadAndZip("watched/movies/", "watched_movies.txt"); loadAndZip("watched/shows/", "watched_shows.txt"); loadAndZip("history/movies/", "history_movies.txt"); loadAndZip("history/shows/", "history_shows.txt"); $zip->close(); header("Content-type: application/zip"); header("Content-Disposition: attachment; filename=$zip_filename"); header("Pragma: no-cache"); header("Expires: 0"); readfile($zip_filepath); exit(); function loadAndZip($path, $filename) { global $zip, $apikey, $username; $url = "https://api-v2launch.trakt.tv/users/" . $username . '/' . $path ; $ch = curl_init(); curl_setopt_array($ch, array( CURLOPT_URL => $url, CURLOPT_HTTPHEADER => array( "Content-Type: application/json", "trakt-api-key: " . $apikey, "trakt-api-version: 2"), CURLOPT_VERBOSE => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_SSL_VERIFYPEER => 0, CURLOPT_SSL_VERIFYHOST => 0 )); $result = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); if($httpCode == 404) { exit("

Wrong username!

"); } curl_close($ch); $zip->addFromString($filename, $result); }