zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden PHP: download erzwingen will nicht!

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 03.08.2010, 07:59
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 30.07.2009
Beiträge: 469
sepp88 befindet sich auf einem aufstrebenden Ast
Standard PHP: download erzwingen will nicht!

hey leute,
ich kapiers nicht, ich habe das folgende script schon mal für ein anderes webprojekt verwendet und es funktioniert bis heute wunderbar. ich frage mich was ich diesmal falsch mache oder ob ich irgendwas übersehe.

Ich will einem php script über die url irgend eine andere url zu einer datei anhängen und diese soll als Download ausgeführt werden.

also ich gebe z.b. ?p=http://www.google.com/bilder/irgend-eine-blume.jpg an mein script weiter und dann soll folgendes passieren:

PHP-Code:
<?php
    error_reporting
(E_ALL);

    if(isset(
$_GET['p'])) $path $_GET['p'];
    else echo 
"no path set!";

    
$file $path;
    
//header('Location:' . $file); //funktioniert bestens, die datei wird im browser geöffnet!
    //
    
header("Cache-Control: no-cache");
    
header("Expires: -1");
    
header("Content-Type: application/octet-stream;");
    
header("Content-Disposition: attachment; filename=\"" basename($file) . "\";");
    
header("Content-Transfer-Encoding: binary");
    
header("Content-Length: " filesize($file));
    echo 
readfile($file);
?>
Egal welche Datei ich anhänge und downloaden will, die Datei ist immer 0Byte groß und fehlerhaft. Wenn ich error_reporting an habe, wird folgendes in die Datei geschrieben:

Zitat:
Warning: filesize() [function.filesize]: stat failed for sphotos.ak.fbcdn.net/hphotos-ak-snc4/hs211.snc4/… in /home/.sites/74/site484/web/stf/downloader/d.php on line 15

Warning: readfile(sphotos.ak.fbcdn.net/hphotos-ak-snc4/hs211.snc4/…) [function.readfile]: failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden in /home/.sites/74/site484/web/stf/downloader/d.php on line 16
Ich habe irgendwo gelesen, dass im PHP setup allow_url_fopen eingeschaltet sein muss, damit readfile(mit einer url) funktioniert. allow_url_fopen ist bei mir eingeschaltet, allow_url_include ist ausgeschaltet.

Kann es sein, dass es da auch sowas wie eine CrossDomain Policy gibt, dass ich nicht einfach Dateien von anderen Domains auslesen kann und als Download prompten darf??

Ich stehe hier echt an und weiß nicht weiter. Habt ihr eine Idee was ich falsch machen könnte?

Danke für die Hilfe!
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 03.08.2010, 14:17
Benutzerbild von uspri
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 04.07.2005
Beiträge: 900
uspri sorgt für eine eindrucksvolle Atmosphäreuspri sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von sepp88 Beitrag anzeigen
Warning: filesize() [function.filesize]: stat failed
Filesize funktioniert nur auf lokalen Dateien, soll bedeuten, die Zieldatei muss über das lokale Filesystem des Servers erreichbar sein und nicht per http.
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 04.08.2010, 00:34
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 30.07.2009
Beiträge: 469
sepp88 befindet sich auf einem aufstrebenden Ast
Standard

was mach ich dann? ist mein vorhaben in dem fall gar nicht umsetzbar? kann ich nicht einfach irgendeine datei-url an mein script hängen und diese runterladen? brauch ich filesize überhaupt?

edit: wenn ich filesize weglasse, dann sagen mir die fehler halt dass bei readfile() der http: request nicht hinhaut.

gibt es eine möglichkeit um das ganze doch funktionieren zu lassen?

Geändert von sepp88 (04.08.2010 um 01:26 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 04.08.2010, 09:04
Benutzerbild von uspri
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 04.07.2005
Beiträge: 900
uspri sorgt für eine eindrucksvolle Atmosphäreuspri sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von sepp88 Beitrag anzeigen
edit: wenn ich filesize weglasse, dann sagen mir die fehler halt dass bei readfile() der http: request nicht hinhaut.
Wie schaut denn der Request aus? Was für eine Url übergibst Du denn? Schreib mal ein paar Beispiele.

Das hier sagt doch schon einiges aus: HTTP request failed! HTTP/1.0 403 Forbidden in /home/.sites/74/site48... Du, bzw. Dein Script, darfst nicht auf diese Ressource zugreifen.
Mit Zitat antworten
  #5 (permalink)  
Alt 04.08.2010, 12:28
Benutzerbild von Praktikant
Semantikbremse.
XHTMLforum-Kenner
 
Registriert seit: 22.04.2008
Beiträge: 4.989
Praktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz sein
Standard

Gehen wir das mal ganz langsam an. Du willst von einem Webserver eine Datei herunterladen lassen. Der Webserver muss aber nicht dein eigener sein, wie das Skript ja aussagt, sonst bräuchtest du nicht über HTTP gehen.

Erstmal ist es dann wahrscheinlich rechtlich so, dass du für diesen Inhalt verantwortlich bist und haftbar gemacht werden kannst, der Download kommt ja von deiner Seite. (Meine Einschätzung, keine rechtssichere Aussage!)
Desweiteren könntest du dir damit, beim Lesen der Datei, eine große Sicherheitslücke ins Boot holen, deshalb ist das so auch nicht ganz einfach möglich. Zudem hast du wahrscheinlich nicht die entsprechenden Zugriffsrechte auf dem anderen Webserver um die Datei einfach mal kurz zu "klauen".
__________________
Rettet die Erde.... sie ist der einzige Planet mit Schokolade!
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP: Download forcieren? sepp88 Serveradministration und serverseitige Scripte 7 11.03.2010 14:56
größere Datein zum Download anbieten (PHP) David Serveradministration und serverseitige Scripte 17 23.11.2009 17:24
Dateien auslagern - Include und PHP ArcVieh Serveradministration und serverseitige Scripte 17 27.03.2008 19:09
Passwortabfrage + Download über PHP ONeill Serveradministration und serverseitige Scripte 4 21.11.2006 19:04
PHP: Zeilenumburch bei langen Wörtern erzwingen MrCage Serveradministration und serverseitige Scripte 15 15.08.2005 18:38


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:55 Uhr.