Merhaba,
http://xooplate.com/template/details...tor-background adresinde yeşil renkli DOWNLOAD botununu tıkladığımız zaman inen dosyanını indirme dosyasını bulamadım.
get_headers ya da pathinfo() gibi fonksiyonlarla uğraşmama rağmen göremedim.
Bu konu da fikri olan arkadaşlardan tecrübelerini paylaşmalarını isteyeceğim.
Download butonun altındaki linki görmek.
8
●1.375
- 14-08-2012, 06:47:15
echo curl("http://xooplate.com/templates/download/11610"); function curl($urele){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $urele); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt( $ch, CURLOPT_HEADER, true ); curl_setopt( $ch, CURLOPT_NOBODY, true ); curl_setopt($ch, CURLOPT_TIMEOUT, 30); $data= curl_exec($ch); curl_close($ch); return $data; }ykarıdaki şekilde sınuç alamadım ya da ben bir yerlerde yanlış yapıyorum. - 14-08-2012, 09:20:35Sabah sabah kurcalamaya devam ediyrum.
en son aşağıdaki gibi ilefunction getir($url, $ref = NULL) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_HEADER, 1); $x = curl_exec($ch); curl_close($ch); return $x; } echo $kaynak = getir('http://xooplate.com/templates/download/11610'); preg_match('~Location: (.*)~', $kaynak, $loc); echo $loc[1]; // yönlendirilen adresyapınca ekrana yonlenen adresi bastı. Yönlenen adres dosya linkinin bulunduğu sayfa oluyor. Yani site illaki indirmek istiyorsan benim sayfamın üzerindeki linki tıklamalısın demek istiyor.
sanırım linki tıklama ile direk inderme arasında bir karşılaştırma yapıyor. Bu konu teccrübeli olan arkadaşların yorumlarını bekliyorum. - 15-08-2012, 09:47:13Evet dün ki araştırmalarımdan curl_setopt($curl, CURLOPT_REFERER ,"siteadi.com"); şeklinde yapıldığında sorunumun çözüldüğünü fark ettim. auto refererde sanırım kullanımı saha sağlıklı olacak onu da araştırayım. @BayGarez denemedim direk çözdüm teşekkür ederim.
AYrıca mrtoxic size de teşekkür ederim. - 15-08-2012, 21:35:12Üyeliği durduruldu
<?php function _curl($url, $info = false) { $options = array( CURLOPT_URL => $url, CURLOPT_REFERER => $url, CURLOPT_RETURNTRANSFER => true, CURLOPT_HEADER => false, CURLOPT_FOLLOWLOCATION => true, CURLOPT_USERAGENT => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_0) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.79 Safari/537.1' ); $ch = curl_init(); curl_setopt_array($ch, $options); $data = curl_exec($ch); if( $info === true ) return curl_getinfo($ch); return $data; } $url = 'http://xooplate.com/templates/download/11610'; $info = _curl($url, true); header('Content-Type: ' . $info['content_type']); header('Content-length: ' . $info['download_content_length']); header('Content-Disposition: attachment; filename="app.zip"'); echo _curl($url); ?>content_type'a göre filename="app.UZANTI" kısmını belirlemen lazım sadece. Her dosya .zip uzantılı olmayabilir.