function ya_link( $url){
$url = "https://cloud-api.yandex.net:443/v1/disk/public/resources/download?public_key=" . urlencode( $url );
$options = array(
CURLOPT_RETURNTRANSFER => true, // return web page
CURLOPT_FOLLOWLOCATION => true, // follow redirects
CURLOPT_ENCODING => "", // handle all encodings
CURLOPT_AUTOREFERER => true, // set referer on redirect
CURLOPT_CONNECTTIMEOUT => 12, // timeout on connect
CURLOPT_TIMEOUT => 12, // timeout on response
CURLOPT_MAXREDIRS => 10, // stop after 10 redirects
// CURLOPT_HTTPHEADER => array('Authorization:TOKEN'), //Send Disk access token
CURLOPT_SSL_VERIFYPEER => false // Disabled SSL Cert checks
);
$ch = curl_init( $url );
curl_setopt_array( $ch, $options );
$content = curl_exec( $ch );
curl_close( $ch );
$json = json_decode($content);
if(isset($json->href))
return $json->href;
else
return '';
}
$indirilecekdosya=ya_link("http://yadi.sk/d/30MTWnpZxNjI");
function download($file_source, $file_target) {
$rh = fopen($file_source, 'rb');
$wh = fopen($file_target, 'w+b');
if (!$rh || !$wh) {
return false;
}
while (!feof($rh)) {
if (fwrite($wh, fread($rh, 4096)) === FALSE) {
return false;
}
echo ' ';
flush();
}
fclose($rh);
fclose($wh);
return true;
}
$result = download($indirilecekdosya,'path/local/file');
echo $result;
Path/local/file yazan kısma sunucunuzun path yolunu yazıp denermisiniz.
İndirme kodundan emin değilim ama yandex disk direkt indirme adresini veren kodlar çalışıyor. Çalışmazsa uğraşa uğraşa çözersiniz.