Jau labu laiku atpakaļ UOC.LV tika aizsākuši rakstīt podkāstus par spēlēm un gaming nozari kopumā. Protams, ka podkāstā tiek apspriestas arī citas tēmas un tas ir visnotaļ jautrs un man to ļoti patīk klausīties. Ja neesi šādus podkāstus dzirdējis un tevi interesē geimig nozare noteikti iesaku paklausīties šos podkāstus. UOC.LV mājaslapā.

Pēdējā laikā ar podkāstu rakstīšanu čaļiem nevedas, visticamāk pārstāja to darī švakā atbalsta dēļ, neviens nešārēja, netwītoja, utt. Džeki ar savu entuziasmu izspieda 102 podkāstus. Malači!

Ņemot vērā, ka man šad tad patīk paklausīties šos podkāstus un besī Apple podkāstu klausīšanās softs iekš iPhone, nolēmu novilkt tos mp3 failus pa tiešo no UOC.LV, lai varētu tos klausīties ar normālu pleijeri.

Par cik mana dzimtā valoda ir PHP tad uzcepu skripteli kas nokačā visus podkāstus uz mana PC.

Šis kods ir samērā viegli uzrakstāms, jo autors ir salicis vienādus noaukumus visiem failiem atšķirās tikai podkāsta numurs, kuru savukārt mēs varam paņemt no uzģenerētā cikla.

Protams, ka šo var veikt dažādākos veidos, šis ir ātrākais un vienkāršākais piecu minūšu projektiņš, kurs padara savu darbu un tas man arī ir vajadzīgs :).

PHP – downloader.php

<?php

$podcastDir = 'podcasts';

if( isset( $_POST['item'] ) ) {
if(file_put_contents( $podcastDir .'/uoc.lv-podkasts-'. $_POST['item'] .'.mp3', fopen('http://cdn.uoc.lv/uoc.lv-podkasts-'. $_POST['item'] .'.mp3', 'r'))){
echo json_encode(true);
}
}

?>

HTML + JQuery – index.html

<!DOCTYPE html>
<html>
<head>
<title>Download</title>
<meta charset="utf-8">
</head>
<body>

<ul id="podcastList"></ul>

<script  src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>
<script type="text/javascript">
$( document ).ready( function(){

var podcastCount = 102;

var download = function( item ){
$.ajax({
url: 'downloader.php',
type: 'post',
dataType: 'json',
data: { item: item },
success: function( data ) {
if ( data = true ){
$('#item-'+ item +' span').html('Done');
}
}
});
};

for(var i = 1; i <= podcastCount; i++ ){
download( i );
$('#podcastList').append('<li id="item-'+ i +'">Podcast number '+ i +' <span>Downloading...</span></li>');
}

});

</script>

</body>
</html>

Kods darbībā izskatās šādi