Jak przyśpieszyć skrypt?


(Radmistrz2) #1

Napisałem sobie skrypt do pobierania plików z wrzuty. Niestety muszę bardzo długo czekać zanim pojawi się pobieranie (1-2 min na serwerze z łączem 100 Mbit/s). Ponoć na wrzucie jest limit 20 kb/s. Nie dało by się tego zrobić tak, aby w locie wysyłało i odbierało?? bo to najpierw zapisuje cały plik a później dopiero wysyła a mi o to nie chodzi tylko w locie.

ob_start();

//pobieranie strony

$adres='http://www.wrzuta.pl/'.$_GET['id'];

$curl = curl_init( \"$adres\" );

curl_setopt( $curl, CURLOPT_RETURNTRANSFER , TRUE );

$content = curl_exec( $curl );

curl_close( $curl );

//zapis do pliku

$file = \"baza.txt\";

$fp = fopen($file, \"w\");

flock($fp, 2);

fwrite($fp, $content);

flock($fp, 3);

fclose($fp);

//przetrarzanie danych

$sql = file('baza.txt');

$h = str_replace('_', ' ', strrev(substr(strstr(strrev(substr(strstr($sql[4], \"<\"), 8)));

$bb = substr(strstr($adres, \"audio\"), 5);

$bc = 'http://wrzuta.pl/aud/file'.\"$bb\";

ob_get_clean();

//przekierowanie

header(\"Cache-Control: public\");

header(\"Content-Description: File Transfer\");

header('Content-disposition: attachment; filename=\"'.$h.' (www.mp3ki.eu).mp3\"');

header(\"Content-Type: mp3/download\");

header(\"Content-Transfer-Encoding: binary\");

readfile($bc);

ob_end_flush();

?>