Php ile Dosya Çekme ve İndirme ( CURL )

Dersimiz Php ile Dosya Çekme ve İndirme. Php de CURL Yöntemini kullanacağız ve bu yöntem ile bir çok konunun başlangıcını anlamış olacaksınız. İlerde sizde ciddi konularda haber, video, resim botları hazırlayabilir, daha gelişmiş sistemler için girişler, 3. parti yazılımlara bağlanmak için ara scriptler yazabilirsiniz..

Şimdi bir çok kişinin başlaması için güzel bir örnek hazırladım bir kaç dokümanla beraber çok güzel bir şekilde düzenledim. Canlı olarak denedim, test ettim sorunsuz şekilde istediğimizi yerine getirecek bir başlangıç scripti oldu. Neler yaptığını ve nasıl yaptığını bir kaç maddede toplayalım.

Neler yapar ?
* url adresi belli, resim yada dosya yi karşı taraftan kendi sunucunuzda istediğiniz bir klasöre çeker, indirir.
* çekmek istediğimiz dosyanın ismini rastgele sayı ile benzersiz şekilde kaydeder.
* çektiğiniz dosyanın yolunu ve kaydedildiği yeni ismini ekrana yazdırır.

Nasıl yapar ?
* Url ile get metodu kullanarak dosya adresini yazıyoruz ve gerisini kodlarımız hallediyor :)

Nasıl kullanılır ?
Urlde aşağıdaki örneği kullanmanız yeterli:

http://www.DOMAIN.com/kodsayfaniz.php?v=Dosya_Adresi

Php ile Dosya Çekme ve İndirme ( CURL )
Php ile Dosya Çekme ve İndirme ( CURL )

Ve sirada Kodlar var:

Kodlari Php kodlarinin Arasina ekleyiniz.

$linkcik=$_GET['v']; // Adres satirindan dosya yolunu aliyoruz ve degisekene atiyoruz. 

// Bi kisimdan dosyamizi cekecek fonksiyona giris yapiyoruz.
function dosya_indir($link,$name=null)
{

$link_info = pathinfo($link);  //Yol bilgilerini deðiþkene atýyoruz.
$uzanti = strtolower($link_info['extension']); //Dosyanýn uzantýsýný deðiþkene atýyoruz.
$file = ($name) ? $name.'.'.$uzanti : $link_info['basename'];
$yolcuk = "dosya/".$file; // Dosya/ buradan cektigimiz dosyanin kaydedilecegi yeri seciyoruz, sonunda / isareti olmak zorunda ve klasorun yazma izni (777) olmali.

$curl = curl_init($link);
$fopen = fopen($yolcuk,'w');

curl_setopt($curl, CURLOPT_HEADER,0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl, CURLOPT_HTTP_VERSION,CURL_HTTP_VERSION_1_0);
curl_setopt($curl, CURLOPT_FILE, $fopen);

curl_exec($curl);
curl_close($curl);
fclose($fopen);

}

//cekme islemi bitti sira diger kisimalarda.

$rasgele_sayi = rand(1,10000000); // Rastgele sayi olusturup, degiskene atiyoruz.

dosya_indir($linkcik,$rasgele_sayi); // ilk satirda get metodu ile aldigimiz linki degiskene atamistik, burada url adresini ve bir onceki sayirda random sayimizi ekliyoruz, inecek dosyayi ve ismini belirliyoruz.

// islem tamamlandi dosyalar cekildi, simdide cekilen dosyayi ve yeni ismini ekrana yazdiralim..
echo "Cekilen dosya baglantisi: ".$linkcik;
echo "

Yeni dosya ismi: ".$rasgele_sayi;

// Bitti: By kuaza dan sevgilerle. Makaleci.com sitesi okurlarina saygilar..

Ben kodlara aciklamalari yazdim, anlamadiginiz yer olursa yorum olarak yazin guncellerim yaziyi..

15 YORUMLAR

  1. arkadaşlar ben sitemin veritabanına videoları bir dosyaya kaydedip oranın yolunu veritabanına kaydeden kodları yazdım fakat siteye o videoların nasıl çekilecegi hakkında fikri olan var mı

  2. merhaba ben kodu aynen kullanıyorum ama indirmek istedigim rar dosyasını boyutunu düşük indiriyor ve dosya açılmıyor neden olabilir acaba kodlar için teşekkür ederim bu arada

CEVAP VER

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.