PHP Classes
elePHPant
Icontem

File: README.md

Recommend this page to a friend!
  Classes of Alexandre Sinício  >  Easy Subtitle Downloader  >  README.md  >  Download  
File: README.md
Role: Documentation
Content type: text/markdown
Description: Documentation
Class: Easy Subtitle Downloader
Download movie subtitles with EasySubtitles API
Author: By
Last change:
Date: 1 year ago
Size: 2,202 bytes
 

Contents

Class file image Download

EasysubtitleDownloader

PHP implementation for the easysubtitles.com REST API.

Downloads subtitles for video files given preferred language.

Can be used in an object-oriented fashion or in procedural format.

The file 'tests.php' runs unit-tests for most common situations.

Feel free to contribute.

Examples

Object-oriented style

try {
	$sub = new EasysubtitleDownloader();

	//SETS THE PATH TO THE VIDEO FILE
	$sub->setVideofile(__DIR__.'/tests/alesinicio/Easysubtitle/justified.mp4');
	
	//SETS THE USER AGENT FOR THE API CALL -- USE YOUR OWN PROJECT DATA
	$sub->setUserAgent('SubDB/1.0 (YOUR_NAME/VERSION; PROJECT_URL)');
	
	//SETS WHAT ARE YOUR PREFERRED LANGUAGES FOR THE SUBTITLE -- EITHER AN ARRAY OR COMMA-SEPARATED VALUES
	$sub->setPreferredLanguages('pt,en');
	
	//CALLS THE API AND GET WHAT SUBTITLES ARE AVAILABLE FOR THAT VIDEO FILE
	$strSubtitlesAvailable = $sub->getAvailableSubtitles();
	
	//GIVEN THE AVAILABLE SUBTITLES, GETS THE BEST CHOICE BASED ON YOUR PREFERENCES
	$bestAvailableSubtitle = $sub->searchForPreferredSubtitle($strSubtitlesAvailable);
	
	//DOWNLOADS THE SUBTITLE TO THE SAME FOLDER OF THE VIDEO FILE
	$sub->downloadSubtitle($bestAvailableSubtitle);
	
	echo "Subtitle in language `{$bestAvailableSubtitle}` downloaded!";
} catch (Exception $e) {
	die($e->getMessage());
}

Procedural styles

try {
	//SETS THE PATH TO THE VIDEO FILE
	$strVideofile		= __DIR__.'/tests/alesinicio/Easysubtitle/justified.mp4';
	
	//SETS THE USER AGENT FOR THE API CALL -- USE YOUR OWN PROJECT DATA
	$strUserAgent		= 'SubDB/1.0 (YOUR_NAME/VERSION; PROJECT_URL)';
	
	//SETS WHAT ARE YOUR PREFERRED LANGUAGES FOR THE SUBTITLE -- EITHER AN ARRAY OR COMMA-SEPARATED VALUES
	$preferredLanguages	= ['pt','en'];

	//TRIES TO DOWNLOAD THE SUBTITLE
	$result = EasysubtitleDownloader::downloadSubtitleForVideoFile($strUserAgent, $strVideofile, $preferredLanguages);

	//PARSES THE RESULT OF THE DOWNLOAD ATTEMPT
	if ($result['code'] == 1) {
		echo "Subtitle downloaded!";
	} else {
		die('Error > '.$result['message']);
	}
} catch (Exception $e) {
	die($e->getMessage());
}