Informasi Seputar Script Blog

Breaking

Saturday, June 13, 2020

Cara Pasang Script Pengunduh Video YouTube Sederhana Dalam PHP


TauScript - YouTube adalah platform berbagi video paling populer di dunia. Ini membantu pengguna untuk mengunggah, melihat, dan berbagi video yang sesuai dengan pedoman komunitas. Banyak orang memilih menjadikan video YouTube sebagai pekerjaan penuh, karena mereka membuat dan mengunggah video dan mendapatkan penghasilan dari YouTube Adsense (Google Adsense).

Namun, YouTube tidak memiliki satu fitur penting, pengunduhan langsung video ke komputer atau ponsel pengguna. Itu sebabnya kami membuat tutorial ini, dan kami akan menunjukkan cara mengunduh video YouTube menggunakan PHP.

Hal pertama yang pertama, kami memiliki skrip di bawah ini untuk bekerja pengunduh YouTube.
  • index.php
  • class.youtube.php
  • downloader.php
Pertama kita akan memeriksa class.youtube.php karena ini adalah file inti yang mengeksekusi fitur-fitur penting untuk mengunduh video dari YouTube.
  • getYouTubeCode - Dapatkan kode YouTube dari URL video
  • processVideo - Memproses url video dan mengembalikan detail video
<? php
 / **
  * Tutsplanet
  *
  * Kelas ini menceritakan fungsi untuk mendukung mengunduh video dari YouTube
  * @class YouTubeDownloader
  * @Thorplan Tutsplanet
  *
  * /

 YouTubeDownloader Kelas {

     / **
      * Dapatkan kode YouTube dari URL video
      * @param $ url
      * @ kembali dicampur
      * /
     fungsi publik getYouTubeCode ($ url) {
         parse_str (parse_url ($ url, PHP_URL_QUERY), $ vars);
         mengembalikan $ vars ['v'];
     }

     / **
      * Proses url video dan kembalikan detail video
      * @param $ vid
      * @ mengembalikan array | batal
      * /

     public function processVideo ($ vid) {
         parse_str (file_get_contents ("https://youtube.com/get_video_info?video_id=". $ vid), $ info);


         $ playabilityJson = json_decode ($ info ['player_response']);
         $ adaptiveFormats = $ playabilityJson-> streamingData-> adaptiveFormats;

         // Memeriksa dimainkan atau tidak
         $ IsPlayable = $ playabilityJson-> playabilityStatus-> status;

         // menulis ke file log
         if (strtolower ($ IsPlayable)! = 'ok') {
             $ log = date ("c"). "". $ info ['player_response']. "\ n";
             file_put_contents ('./ video.log', $ log, FILE_APPEND);
         }

         $ result = array ();

         if (! kosong ($ info) && $ info ['status'] == 'ok' && strtolower ($ IsPlayable) == 'ok') {
             $ i = 0;
             foreach ($ adaptiveFormats as $ stream) {

                 $ streamUrl = $ stream-> url;
                 $ type = explode (";", $ stream-> mimeType);

                 $ qualityLabel = '';
                 if (! empty ($ stream-> qualityLabel)) {
                     $ qualityLabel = $ stream-> qualityLabel;
                 }

                 $ videoOptions [$ i] ['link'] = $ streamUrl;
                 $ videoOptions [$ i] ['type'] = $ type [0];
                 $ videoOptions [$ i] ['quality'] = $ qualityLabel;
                 $ i ++;
             }
             $ result = array ('info' => $ info, 'videos' => $ videoOptions);
             mengembalikan hasil $;
         }
         lain {
             kembali;
         }
     }

 } 

Dalam fungsi processVideo() , pertama-tama kita mengurai output dari halaman info video YouTube. Penting untuk dicatat bahwa, potongan data yang kembali dari baris kode ini, tetapi kami tidak akan menggunakan semua ini. Selanjutnya, kami memeriksa status untuk melihat apakah itu ok, kemudian pindah ke langkah selanjutnya untuk mengurai aliran yang berbeda dengan menggunakan kode ini $playabilityJson->streamingData->adaptiveFormats .

Ini mengembalikan berbagai versi video YouTube seperti mp4, mp3 dan yang paling penting berbagai kualitas (720p, 360p). Akhirnya, kami mendorong semua ini ke array dan mengatur nilai sebagai imbalannya.

Unduh video YouTube dengan menggunakan formulir sederhana di PHP
Kami menggunakan formulir di bawah ini untuk mengambil input pengguna yaitu. URL video YouTube. Ini ada di index.php .

<form method = "post" action = "" class = "formSmall">
<div class = "row">
<div class = "col-lg-12">
<h7 class = "text-align"> Unduh Video YouTube </h7>
</div>
<div class = "col-lg-12">
<div class = "input-group">
<input type = "text" class = "form-control" name = "video_link" placeholder = "Tempel tautan .. mis. https://www.youtube.com/watch?v=OK_JCtrrv-c">
<span class = "input-group-btn">
<tombol ketik = "kirim" nama = "kirim" id = "kirim" class = "btn btn-primary"> Pergi! </button>
   </span>
</div> <! - / input-group ->
</div>
</div> <! - .row ->
 </form>

Selanjutnya, kita harus menulis kode PHP yang memasukkan ID video dan mengembalikan url video yang berbeda untuk diunduh.

  require_once "class.youtube.php";
 $ yt = new YouTubeDownloader ();
 $ downloadLinks = '';
 if ($ _ SERVER ['REQUEST_METHOD'] == 'POST') {
     $ videoLink = $ _POST ['video_link'];
     $ vid = $ yt-> getYouTubeCode ($ videoLink);
     if ($ vid) {
         $ result = $ yt-> processVideo ($ vid);
         // print_r ($ result);
         $ info = $ result ['info'];
         $ downloadLinks = $ result ['videos'];

         $ videoInfo = json_decode ($ info ['player_response']);

         $ title = $ videoInfo-> videoDetails-> title;
         $ thumbnail = $ videoInfo-> videoDetails-> thumbnail-> thumbnails {0} -> url;
     }
 }

Skrip di atas, kami menyertakan file kelas class.youtube.php , yang merupakan inti dari aplikasi ini. Akhirnya, kami mengkonfirmasi metode POST dan mengambil hasil dari metode kelas.

Kode di bawah ini akan menunjukkan kepada Anda cara menampilkan tautan unduhan YouTube dalam format tabel, dengan kualitas dan jenis.

<? php if ($ downloadLinks):?>
         <div class = "row formSmall">
             <div class = "col-lg-3">
                 <img src = "<? php print $ thumbnail?>">
             </div>
             <div class = "col-lg-9">
                 <? php print $ title?>
             </div>
         </div>

         <table class = "table formSmall">
             <tr>
                 <td> Ketik </td>
                 <td> Kualitas </td>
                 <td> Unduh </td>
             </tr>
             <? php foreach ($ downloadLinks sebagai $ video):?>
                 <tr>
                     <td> <? php cetak $ video ['type']?> </td>
                     <td> <? php cetak $ video ['quality']?> </td>
                     <td> <a href="downloader.php?link=<?php print urlencode($video['link'[)?> & title = <? php print urlencode ($ title)?> & type = <? php print urlencode ($ video ['type'])?> "> Unduh </a> </td>
                 </tr>
             <? php endforeach;?>
         </table>
         <? php endif;?>

Bagaimana cara mengunduh video menggunakan tautan?
Anda mungkin telah memperhatikan ada halaman bernama downloader.php dalam skrip di atas. Skrip ini bertanggung jawab atas unduhan paksa file ke komputer atau ponsel Anda. Ini adalah proses pengunduhan gaya standar dalam PHP.

 <? php
 $ downloadURL = urldecode ($ _ DAPATKAN ['tautan']);
 // cetak $ downloadURL; keluar;
 $ type = urldecode ($ _ GET ['type']);
 $ title = urldecode ($ _ GET ['title']);

 // Menemukan ekstensi file dari tipe mime
 $ typeArr = meledak ("/", $ type);
 $ extension = $ typeArr [1];

 $ fileName = $ title. '.'. $ extension;


 if (! empty ($ downloadURL)) {
     header ("Cache-Control: public");
     header ("Konten-Deskripsi: Transfer File");
     header ("Content-Disposition: attachment; filename = \" $ fileName \ "");
     header ("Content-Transfer-Encoding: binary");

     readfile ($ downloadURL);

 }

Saya harap semua orang menikmati artikel ini, jangan lupa untuk membagikan artikel ini dengan rekan-rekan Anda.

Anda dapat mengunduh kode sumber ini dari GitHub Repo

No comments:

Post a Comment