PHP İle Bir Siteden İstenilen Bölümü Çekme
-
Hocalar Şimdi Birşey Yapıyorum Buna Herhangi Bir Download Sitesinin Linkini Verildiğinde (şuan filesonic Üzerine Çalışıyorum)
http://www.filesonic.com/file/1005164184/aimp_2.61.570.zip
Mesela Bulinkdeki Şu Bölümü Almasını İstiyorum
aimp_2.61.570.zip + File size: 6.94 MB Bu Bölümü Verdiğim Farklı Bir Filesonic Linkinde Oraları Kontrol Edip Neyazıyorsa Onu Vermesini İstiyorum Filename ve Boyut Olarak
preg_match('#([0-9]+).([0-9]+) MB<#si',$contents,$mbs); ( Boyut İçin ) Bunu Kullanıyorum Ama Başarılı Olamadım
preg_match('/(.*?)
/si',$contents,$dsy); ( Dosya İsmi İçinde Bunu Yapıyorum Ama Olmuyor :S Almıyor Biri Yardım Etsin Çok Sevaba Girer :D
Edit : sadece filesonic de değil diğer download sitelerindede yapmam lazım nerede yalnış yapdıgımı söylerseniz hatayı düzeltip ötekilerindede sorun yaşamam
-
dosya ismi için basename kullan
copy($linkler[$i],basename(rtrim($linkler[$i]))); gibi
-
Bak şu kısma odaklar.
<span class="size">6.94 MB</span>
burda demek ki <span class="size">\w.</span> gibi bir şey yapıcaz.
öff düzenli ifadeleir unutmuşum 1 senede.
yani ^<span class="size"> ile başlayacak ve </span>+$ ile bitecek.Arasındakiler bizim istediğimiz :)
-
zumsuk bunu yazdı:
-----------------------------
Bak şu kısma odaklar.
6.94 MB
burda demek ki \w. gibi bir şey yapıcaz.
öff düzenli ifadeleir unutmuşum 1 senede.
yani ^ ile başlayacak ve +$ ile bitecek.Arasındakiler bizim istediğimiz :)
-----------------------------saolasın boyut sorunu çözüldü şuan :S filename yi yapamadım hâla :S
-
.S hocam filename urlde yok mu ?
aimp_2.61.570.zip
http://www.filesonic.com/file/1005164184/aimp_2.61.570.zip
Eğer explode ile / bölersek
$a = 'http://www.filesonic.com/file/1005164184/aimp_2.61.570.zip';
$b = explode('/',$a);
echo $b['5'];yaptığımızda gerekeni verir.Fakat linkler karışırsa mesela //aimp_2.... şeklinde, işlemez.nun için kaynak koda tekrar göz atarsak ;
en altta şöyle birşey var
<input type="text" value="http://www.filesonic.com/file/1005164184/aimp_2.61.570.zip" name="URL_1005164184" id="URL_1005164184" readonly="readonly">
burda sanırım hep böyle link veriyor.
http://www.filesonic.com//file/1005164184/aimp_2.61.570.zip
yaptığımda bile (filedan önce iki // var) aynı linki veriyor.O halde;
<input type="text" value=" ile başlayıp " name=" ile bitircez.name ve id leri almayalım onlar değişken.Eğer bu şekilde ;
http://www.filesonic.com/file/1005164184/aimp_2.61.570.zip
Bu linki yakalayabilirsek ;
o zaman üstteki kodla aimp_2.62vs.. yi buldurabiliriz.
Falat sürekli linkler böyle mi ? Eğer değilse ;
---------------
<span>Filename: </span>
<strong>aimp_2.61.570.zip</strong>
</p>kısmı var.
<span>Filname: </span><strong> ile başlayıp, </strong></p> ile biten kısmı alırsakta her zaman dosya adını verir.
-
edit yaparsam boku çıkıyor ;
son yazdığım yer için sonra alt satırageçmiş.Sanırım özel bi karakter vardı.Onu kullanman lazım düzenli ifadelerde.tan sorna
yi çekerkende aynısını kullanacaksın.
Biraz dene bulursun :)
edit:
Hocam şunları buldum:
http://www.filesonic.com/file/402043851/290311.B.O.L.A.www.DivXMeN.com.part2.rar
http://www.filesonic.com/file/403973281/290311.P.N.www.DivXMeN.com.part3.rar
demekki linklerin hepsi bu şekilde.O zaman düzenli ifadeye kalmadan alabilirsin.Yada dediğim gibi alttaki kutucukta urlyi v eriyor, ondan çekip explode ile bölebilirsin.
-
function parcalabehcet($onek, $sonek, $con) { @preg_match_all('/' . preg_quote($onek, '/') . '(.*?)'. preg_quote($sonek, '/').'/', $con, $return); return @$return[1]; } //kullanimi $con = "http://www.tahribat.com/Forum-Php-Ile-Bir-Siteden-Istenilen-Bolumu-Cekme-138660/"; $tbtkonuadi = parcalabehcet('Forum-','/',$con); echo $tbtkonuadi[0];
-
snnyk bunu yazdı:
-----------------------------
function parcalabehcet($onek, $sonek, $con) { @preg_match_all('/' . preg_quote($onek, '/') . '(.*?)'. preg_quote($sonek, '/').'/', $con, $return); return @$return[1]; } //kullanimi $con = "http://www.tahribat.com/Forum-Php-Ile-Bir-Siteden-Istenilen-Bolumu-Cekme-138660/"; $tbtkonuadi = parcalabehcet('Forum-','/',$con); echo $tbtkonuadi[0];
-----------------------------ahahahhaahaha :D aga benimde bi js fonksiyonu vardı parcala_behcet diye o aklıma geldi
-
Explosive bunu yazdı:
-----------------------------
zumsuk bunu yazdı:
-----------------------------
Bak şu kısma odaklar.
6.94 MB
burda demek ki \w. gibi bir şey yapıcaz.
öff düzenli ifadeleir unutmuşum 1 senede.
yani ^ ile başlayacak ve +$ ile bitecek.Arasındakiler bizim istediğimiz :)
-----------------------------saolasın boyut sorunu çözüldü şuan :S filename yi yapamadım hâla :S
-----------------------------hocam basename diye yazdım ya onunla yapılıyor.
<?php $yol = "/home/httpd/html/index.php"; $dosya = basename($yol); // $dosya => "index.php" $dosya = basename($yol, ".php"); // $dosya => "index" ?>
-
yaw arkadaşlar bu veri çekmenin inceliği ney tekbaşıma birşey yapayım diyorum yok :S başkasından yardım alınca oluyor anca :D
-
Bu arada php programlayla ilgili videolu dersler bulabileceğim bir site warmı