Skrip PHP Copy Paste String

Saya ingin berbagi skrip sederhana yang saya gunakan untuk copy paste ribuan baris link.
Ada kasus ketika saya menemukan link dengan format:
http://domain.com/folder/folder-keren/folder-keren/
http://domain.com/folder/folder-bagus/folder-bagus/
http://domain.com/folder/folder-mantap/folder-mantap/
dst
sampai 4000-an lebih baris.
Di dalam folder terakhir, terdapat file-file menarik yang ingin saya download menggunakan wget.
Jadi, menggunakan fitur download all links sembarang download manager (misalnya plugin firefox flashgot), lalu mengekspornya menjadi file teks saya mendapatkan link “modal” untuk digunakan.
Masalahnya, folder terakhir tidak bisa dicapture, karena pangkal peng-capturan adalah http://domain.com/folder/ – hanya sampai disini kesamaan link diatas, selebihnya hanya polanya yang sama, nama folder terakhir mengikuti folder sebelumnya.
Bagaimana mengubah link modal ini
http://domain.com/folder/folder-keren/
http://domain.com/folder/folder-bagus/
http://domain.com/folder/folder-mantap/
menjadi seperti diatas?
Kalau hanya beberapa baris, masih bisa di copy paste di teks editor. Hanya saja, sebelum menyelesaikan 4000 baris lebih, jari kita sudah masuk UGD 🙂
Karena kebetulan sedang belajar PHP di bagian operasi file, string dan array saya coba mengaplikasikannya menjadi skrip singkat ini.
<?php
    $manga = file(‘manga.txt’);
    // hitung jumlah baris
    $baris_manga = count($manga);
    for ($i=0; $i<$baris_manga; $i++) {
    // pisahkan setiap baris menjadi beberapa bagian
    $line = explode(“/”, $manga[$i]);
    echo $line[0].’//’.$line[2].’/’.$line[3].’/’.$line[4].’/’.$line[4].'<br />’;
    }
?>
Dengan skrip sederhana ini saya bisa melakukan copas 4000 lebih link dan menyimpannya dalam file teks, tanpa jari-jari bengkok 🙂
Maksud dari skrip diatas adalah, kita membaca isi file manga.txt yang berisi link modal yang akan diformat seperti link akhir. Setelah membaca jumlah barisnya, kita memecah setiap baris menjadi array yang memiliki 5 key dengan value masing-masing:
$line[0] = http
$line[1]) = kosong
$line[2] = domain.com
$line[3] = folder
$line[4] = nama-folder-yang-ingin-di-copas
Setelah mendapatkan nilai array, kita memformatnya sedemikian rupa, seperti pada baris echo terakhir dan kemudian output dibrowser kita copy paste ke file teks biasa.
Oh ya, hampir lupa. Perintah wget untuk mendownload isi folder tersebut dan menyimpannya dalam folder dengan nama folder terakhir.
wget -r -nH -nv –cut-dirs=2 –level=1 -i list.txt
Arti perintah diatas, copy/download secara recursive/menyeluruh isi link yang ada di file list.txt dan menyimpannya dengan mengabaikan nama host dan 2 folder setelahnya. Juga wget hanya menelusuri kedalaman link 1 level saja, yaitu isi folder / file berharganya.

Leave a Reply

Your email address will not be published. Required fields are marked *