Renomear arquivos por url Remota com metodo Curl


<?php

// Script desenvolvido por Rodrigo Ferreira facebook.com/ryumaruwebanimes
/*
Esse script permite fazer download e renomear arquivos por url Remota por metodo Curl aplicação deste script e devastadora você podera usar ele para varias url menos no caso
de servidores de download normais uma vez que para isso devera ter um retorno do valor real passando pelo sistema de protect link do servidor mais funciona com qualquer url
de link direto.
*/

// Tempo de execução do script infinito
set_time_limit(0);

// Função para forçar download de qualquer arquivo
function download($file,$tamanhoGeral){

header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-disposition: attachment; filename="ryumaru_exemplo_uol.mp4"');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Expires: 0');
header('Pragma: public');
$size = get_size($file);
header('Content-Length: '.$size);

$i = 0;
while($i<=$size){
//Output do da UOL
tamanhoUOL($file,(($i==0)?$i:$i+1),((($i+$tamanhoGeral)>$size)?$size:$i+$tamanhoGeral));
$i = ($i+$tamanhoGeral);
}

}

// Função de chamada de retorno para CURLOPT_WRITEFUNCTION, Isto é o que imprime o pedaço
function downloadForcado($ch, $str) {
print($str);
return strlen($str);
}

// Função para obter um intervalo de bytes do arquivo remoto
function tamanhoUOL($file,$start,$end){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $file);
curl_setopt($ch, CURLOPT_RANGE, $start.'-'.$end);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
curl_setopt($ch, CURLOPT_WRITEFUNCTION, 'downloadForcado');
$result = curl_exec($ch);
curl_close($ch);
}

// Pega o Tamanho total do arquivo
function get_size($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_exec($ch);
$size = curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD);
return intval($size);
}

 

// Chamando a função para funcionammento
$file = 'url de download aqui';

// Tamanho maximo do arquivo do lado do $file
download($file,314572800);
?>

Site Oficial: Clique aqui!

Esta resposta lhe foi útil?

 Imprimir este Artigo

Artigos Relacionados

Utilizando SMTP

O que é SMTP e por que usá-lo ?O SMTP (Simple Mail Transfer Protocol) é um protocolo que permite,...

Trabalhando com htaccess

Deny/Allow1. Bloqueia - Libera2. Exemplos: Libera ou bloqueia acesso a uma determinada faixa de...

Redirecionamento

Redirecionamento com frames Quando você quiser fazer um redirecionamento mantendo o endereço do...

Meta Tags - O que são e como utilizá-las

Meta tags são linhas de código HTML, ou "etiquetas", que, entre outras coisas, descrevem o...

Meta Tags - Escondendo seu site dos buscadores

A função desta tag é dizer aos buscadores se devem indexar sua página ou não. Quando você...

Siga-nos no Instagram