Datei Download (PHP) starten via Ajax

Hookah

Erfahrenes Mitglied
Moin moin,

Ich habe mir ein kleines PHP Script geschrieben mit dessen Hilfe ich Dateien von Rapidshare runterladen möchte.
Das PHP Script funktioniert auch tadellos wenn ich es normal im Browser aufrufe bzw
es mit einem Formular aus meiner HTML Datei anspreche.
PHP:
<?php
$login = "MeinUsername";
$passwort = "******";


$link = $_POST['download_link'];

$link = str_replace("http://", "",$link);
$link = str_replace("www.","",$link);

$link_array = explode("/", $link);
$hoster = $link_array[0];
$id = $link_array[2];
$filename = $link_array[3];


if($hoster == "rapidshare.com")
{
$file = fopen("http://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=download&fileid=".$id."&filename=".$filename."&login=".$login."&password=".$passwort."&try=0&start=0","r");

	$file = fgets($file, 1000);

	$file_array = explode(",",$file);

	$server = str_replace("DL:","",$file_array[0]);

		
	header('Content-type: application/octetstream');
	header('Content-Disposition: attachment; filename="'.$filename.'"');
	readfile("http://".$server."/cgi-bin/rsapi.cgi?sub=download&fileid=".$id."&filename=".$filename."&login=".$login."&password=".$passwort."&try=0&start=0");

}


?>

Ich möchte es aber per Ajax ansteuern.
Wenn ich das mache wird aber die Datei von Rapidshare geladen und
als Rückgabe vom PHP Script erhalte ich dann die Datei in wirrschen Zeichen.
Es soll sich aber der Speichern Dialog öffnen wie es auch geschieht wenn ich das
PHP Script im Browser aufrufe.

Code:
function load_link()
{

	var xhr = new XMLHttpRequest();

	xhr.onreadystatechange = function () {
         if (xhr.readyState == 4) {

             //document.getElementById('download_box').innerHTML = xhr.responseText;
		
         }
     	};

	var fd = new FormData;
	fd.append("download_link", document.getElementById('download_link').value);
 

  	xhr.open("POST", "download.php", true);
  	xhr.send(fd);



}

Ich habe zuvor Google angestrengt aber das einzige was
ich gefunden habe ist eine HTML Weiterleitung oder ein Iframe als Lösung.
Das kommt aber nicht in Frage denn um eine Datei via Rapidshare API
laden zu können muss ich per GET Benutzername und Passwort mitgeben
und das soll natürlich in keinstem Fall für Fremde in irgendeiner Form sichtbar sein.

Jemand eine Idee?

Sonnige Grüße
Hookah
 

Neue Beiträge

Zurück