Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Portal > Foren > PHP > PHP-Programmierung > Problem mit Download-Skript
Antwort
 
Themen-Optionen
Alt 22.09.2007, 16:31   Nach oben    #1
Neuer Benutzer
 
Registriert seit: 22.09.2007
Beiträge: 7
Standard Problem mit Download-Skript

Hallo habe gerade angefangen mir ein paar kleinere PHP-Skripte zusammen zusuchen und wollte auch diese hier verwenden: [PHP] Download-Skript, Downloads mit download.php?id=x habe den Basis-Code identisch übernommen, nur die jeweiligen Anpassungen für den Dowload-Ordner und die Dateinamen habe ich abgeändert, sonst direkt copy&paste. Wenn ich nun dieses Skript bei mir einbaue erscheint dann das "Speichern unter" Fenster, jedoch nicht mit der angeforderten Datei, sondern bietet mir der Browser die download.php zum download an?! Was ist da los? Hoff mir kann da jemand helfen! mfg sprock

Geändert von sprock (22.09.2007 um 16:42 Uhr).
sprock ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.09.2007, 16:54   Nach oben    #2
Entwickler
 
Benutzerbild von dr.e.
 
Registriert seit: 05.02.2007
Ort: München
Beiträge: 115
Standard

Hallo sprock,

tausche den Header

PHP-Code:
header("Content-Type: x-type/subtype"); 
mal gegen

PHP-Code:
header("Content-Type: application/octet-stream"); 
aus und versuche es nochmal.
__________________
Grüße,
Dr.E.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a look at http://www.adventure-php-framework.org!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.09.2007, 17:03   Nach oben    #3
Neuer Benutzer
 
Registriert seit: 22.09.2007
Beiträge: 7
Standard

Danke für die Antwort. Fehler bleibt aber immer noch bestehen.
Die Seite um die es geht ist übrigens diese hier: http://fc-niederkalbach.de/fcnews/fcnews.htm


Der Code in der download.php
PHP-Code:
<?php
/*
 * Der Ordner indem sich die Dateien befinden
 */

$download_dir "http://fc-niederkalbach.de/downloads/";

/*
 * Die herunterladbaren Dateien:
 */
 
$files = array(
                
"1" => "ausgabe1.zip",
                
"2" => "ausgabe2.zip",
                
"3" => "ausgabe3.zip",
                
"4" => "ausgabe4.zip",
                
"5" => "ausgabe10.zip",
                
"6" => "ausgabe11.zip",
                
"7" => "ausgabe12.zip",
              );

/*
 * Den kompletten Pfad der Datei (+Dateiname) in $file speichern
 */
$file $download_dir.$files[$_GET['id']];

/*
 * Header-Einstellungen
 */
header("Content-Type: application/octet-stream");
header("Content-Length: ".filesize($file));
header("Content-Disposition: attachment; filename=".$files[$_GET['id']]);

/*
 * Das "Speichern-Unter"-Fenster erscheinen lassen
 */
readfile($file);
?>
sprock ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.09.2007, 17:06   Nach oben    #4
Entwickler
 
Benutzerbild von dr.e.
 
Registriert seit: 05.02.2007
Ort: München
Beiträge: 115
Standard

Hallo sprock,

wenn ich den Link 2 (Ausgabe 2) im Firefox aufrufe geht das, der IE mault zurecht:

Code:
Warning: filesize() [function.filesize]: Stat failed for http://fc-niederkalbach.de/downloads/ausgabe2.zip (errno=2 - No such file or directory) in /home/w11971/web/public_html/download.php on line 31

Warning: Cannot modify header information - headers already sent by (output started at /home/w11971/web/public_html/download.php:31) in /home/w11971/web/public_html/download.php on line 31

Warning: Cannot modify header information - headers already sent by (output started at /home/w11971/web/public_html/download.php:31) in /home/w11971/web/public_html/download.php on line 32
Berichtige mal diese Fehler, dann sollte das klappen.


//EDIT: filesize() sollte nicht auf URL-Pfade angewandt werden.
__________________
Grüße,
Dr.E.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a look at http://www.adventure-php-framework.org!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Geändert von dr.e. (22.09.2007 um 17:06 Uhr). Grund: Hinweis zu filesize() ergänzt
dr.e. ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.09.2007, 17:11   Nach oben    #5
Neuer Benutzer
 
Registriert seit: 22.09.2007
Beiträge: 7
Standard

Ja danke,es klappt!

Habe die

PHP-Code:
header("Content-Length: ".filesize($file)); 
einfach gelöscht. Sollte evtl mal auch in dem Beispiel Code angemerkt werden, dass es nicht mit URLs arbeitet.

Auf jedenfall danke, kann gut sein dass in nächster Zeit noch öfters solche Fragen kommen
sprock ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.09.2007, 17:20   Nach oben    #6
Entwickler
 
Benutzerbild von dr.e.
 
Registriert seit: 05.02.2007
Ort: München
Beiträge: 115
Standard

Zitat:
Zitat von sprock Beitrag anzeigen
Ja danke,es klappt!

Habe die

PHP-Code:
header("Content-Length: ".filesize($file)); 
einfach gelöscht. Sollte evtl mal auch in dem Beispiel Code angemerkt werden, dass es nicht mit URLs arbeitet.
Das ist Quatsch. Du löst hier nur Symptome und keine Ursachen. Bitte befasse dich auch mit dem Code, den du einsetzt.


Zitat:
Zitat von sprock Beitrag anzeigen
Auf jedenfall danke, kann gut sein dass in nächster Zeit noch öfters solche Fragen kommen
Da sieht man, dass du das Thema noch nicht wirklich verstanden hast!
__________________
Grüße,
Dr.E.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a look at http://www.adventure-php-framework.org!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.09.2007, 17:27   Nach oben    #7
Neuer Benutzer
 
Registriert seit: 22.09.2007
Beiträge: 7
Standard

Dann erklärs mir bitte was daran falsch sein soll. Wenn die Funktion filesize() nicht mit URL arbeiten kann, wie soll das dann umgangen werde? bzw ist es ein Problem wenn die Funktion gelöscht wird? Immerhin funktioniert es ja nun scheinbar so wie es soll.
Aber da ich wie du erkannt hast noch relativ frisch bin in solchen Dingen wäre eine Erklärung nicht schlecht!
sprock ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.09.2007, 18:26   Nach oben    #8
Entwickler
 
Benutzerbild von dr.e.
 
Registriert seit: 05.02.2007
Ort: München
Beiträge: 115
Standard

Hallo sprock,

zunächst solltest du dir das Manual (http://www.php.net/manual/en/function.filesize.php) durchlesen, denn dort sollte alles wissenswerte erklärt sein. c&p-Künstler gibt es zur Genüge. List du dort aufmerksam, steht da

Zitat:
Parameters

filename

Path to the file.
Da du hier den Download von Dateien anbietest, die auf deinem Server liegen, solltest du die Funktion filesize() auch mit einem gültigen Pfad zu einer Datei auf deinem Server füttern können. Wie du bereits weiter oben beschrieben hast, wurde der Pfad zu den Dateien angepasst. Diese Anpassung musst du natürlich auch bis zu dieser Stelle durchziehen, sprich der Funktion filesize() einen gültigen Pfad zu einer Datei übergeben. In deinem Fall muss


PHP-Code:
$download_dir "http://fc-niederkalbach.de/downloads/"
einfach ein lokales Verzeichnis auf deinem Server sein und keine URL. Im Ursprungsscript ist das IMHO auch der Fall gewesen.


Zitat:
Dann erklärs mir bitte was daran falsch sein soll.
Ich hab dir das eigentlich schon erklärt. Mein Statement war

Zitat:
Bitte befasse dich auch mit dem Code, den du einsetzt.
und das wäre in deinem Fall - inkl. einen Blick ins Manual - auch die Lösung gewesen.
__________________
Grüße,
Dr.E.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a look at http://www.adventure-php-framework.org!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.09.2007, 18:54   Nach oben    #9
Neuer Benutzer
 
Registriert seit: 22.09.2007
Beiträge: 7
Standard

Hallo

Ok, ich habs denke ich mal verstanden, habs dementsprechend angepasst und jetzt läufts auch.

Danke nochmal!!
sprock ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.09.2007, 19:46   Nach oben    #10
Entwickler
 
Benutzerbild von dr.e.
 
Registriert seit: 05.02.2007
Ort: München
Beiträge: 115
Standard

Zitat:
Zitat von sprock Beitrag anzeigen
Danke nochmal!!
Gerne.
__________________
Grüße,
Dr.E.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a look at http://www.adventure-php-framework.org!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

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
Logisches Problem beim einsatz von Ereignissen Prophet Allgemeine Java-Programmierung 19 05.06.2006 22:08
Firefox 1.5.0.4 und Thunderbird 1.5.0.4 zum Download verfügbar Ben Nachrichten 0 02.06.2006 08:26
forced file download juergreh PHP-Programmierung 5 16.05.2006 04:43
falscher Header? Erzwungener Download ex³ PHP-Programmierung 3 08.05.2006 16:22
OSX + Eclipse 3.1 Problem bacarni Eclipse 3 29.07.2005 21:19


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:30 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0) und vBSEO.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44