| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

12-01-2010, 14:19
|
|
Kangarooo
Registrierter Benutzer
|
|
Registriert seit: Nov 2009
Beiträge: 216
|
|
Datei download?
Hallo! Ich möchte eine Datei zum Download anbieten. Wenn man auf den Link klickt, will ich aber dass sich ein DOWNLOAD FILE öffnet und nicht versucht wird, die Datei anzuzeigen! Ich habe dass hier gefunden, aber wie realisere ich dass auf meinen href??
PHP-Code:
<?php
header('Content-Disposition: attachment; filename="PHP-Skript.php"'); //Sagt dem Browser, dass es sich um einem Download handelt header('Content-Type: x-type/subtype'); //"Bug-Fix" für den IE 4.x & 5.x
readfile('phpskript.php');
?>
und so sieht dann mein Link aus:
PHP-Code:
<a href='".$file."'><img src='imgs/icons/link_go.png'></a>
Geändert von Kangarooo (12-01-2010 um 14:26 Uhr)
|

12-01-2010, 14:28
|
|
streuner
Registrierter Benutzer
|
|
Registriert seit: Aug 2009
Ort: Lüneburg
Beiträge: 461
|
|
Hi!
Lies Dir mal das hier durch, dass wird Dir helfen (z.B. der 1. Link):
http://lmgtfy.com/?q=php+dateidownload
mfg streuner
__________________
Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.
"Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"
|

12-01-2010, 14:34
|
|
Kangarooo
Registrierter Benutzer
|
|
Registriert seit: Nov 2009
Beiträge: 216
|
|
Jo, daher habe ich ja auch den Code, ich verstehe halt nicht, wie ich dass in meinen Link einbauen kann.
|

12-01-2010, 14:43
|
 |
onemorenerd
 Moderator
|
|
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.481
|
|
Was passiert denn?
|

12-01-2010, 14:47
|
|
streuner
Registrierter Benutzer
|
|
Registriert seit: Aug 2009
Ort: Lüneburg
Beiträge: 461
|
|
In dem Beispiel von SELFPHP steht es doch bei Beispiel 6.3 ganz genau!
Du erstellst dir ne Funktion (download.php):
function makeDownload($file, $dir, $type) {
header("Content-Type: $type");
header("Content-Disposition: attachment; filename=\"$file\"");
readfile($dir.$file);
}
//...und dann
$dir = '/is/htdocs/wp1042434_BDEO6BJ7VB/www/download/'; //Pfad
$type = 'application/zip'; //Dateitype
if(!empty($_GET['file']) && !preg_match('=/=', $_GET['file'])) {
if(file_exists ($dir.$_GET['file'])) {
makeDownload($_GET['file'], $dir, $type);
}
}
//...
//Aufruf des Files zum Download, z.B.
http://www.ihreDomain.de/download.php?file=dieDatei.zip
ist doch nicht so schwer, oder? Rufst deine download.php mit der Funktion auf und übergibst (als Beispiel) die Downzuloadende Datei) als GET-Parameter.
mfg streuner
__________________
Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.
"Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"
|

12-01-2010, 15:28
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.310
|
|
Vielleicht hilft dir das hier weiter? Es funktioniert auf jeden Fall. Und bitte den Beispielcode ansehen.
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

12-01-2010, 15:30
|
|
Kangarooo
Registrierter Benutzer
|
|
Registriert seit: Nov 2009
Beiträge: 216
|
|
Mh, funktioniert irgendwie nicht! Trotzdem vielen dank für die hilfe!
|

12-01-2010, 15:36
|
|
streuner
Registrierter Benutzer
|
|
Registriert seit: Aug 2009
Ort: Lüneburg
Beiträge: 461
|
|
Was genau funktioniert den nicht? Ne konkretere Fehlerbeschreibung wäre wirklich hilfreich - sonst können wir Dir auch nicht helfen!
mfg streuner
__________________
Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.
"Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"
|

12-01-2010, 15:51
|
|
Kangarooo
Registrierter Benutzer
|
|
Registriert seit: Nov 2009
Beiträge: 216
|
|
Also, benötige ich unbedingt $dir und $type??
so sieht meine download.php aus
PHP-Code:
<?php function makeDownload($file) {
header("Content-Disposition: attachment; filename=\"$file\"");
readfile($file);
}
if(!empty($_GET['file']) && !preg_match('=/=', $_GET['file'])) { if(file_exists ($dir.$_GET['file'])) { makeDownload($_GET['file']); }
}
?>
und so sieht ein link aus:
PHP-Code:
$file="files/2010/Oktober/foto.jpg"; <a href='download.php?file=".$file."'><img src='imgs/icons/link_go.png'> Download</a>
Und wenn ich dann auf den Link klicke kommt nur ne leere Seite!
|

12-01-2010, 16:06
|
|
streuner
Registrierter Benutzer
|
|
Registriert seit: Aug 2009
Ort: Lüneburg
Beiträge: 461
|
|
Hast du den 1. Link den jetzt schon mal durchgelesen?
Dateidownload realisieren
...mach das mal und Du wirst sehen, was nicht korrekt ist bei Dir!!
mfg streuner
P.S. Der Link von Kropff funktioniert übrigens auch super!
__________________
Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.
"Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"
Geändert von streuner (12-01-2010 um 16:10 Uhr)
|

12-01-2010, 16:15
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.310
|
|
PHP-Code:
readfile($file);
PHP-Code:
file_exists ($dir.$_GET['file'])
Fällt dir da nichts auf? Wie sieht eigentlich dein error_reporting aus?
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

12-01-2010, 16:43
|
|
Kangarooo
Registrierter Benutzer
|
|
Registriert seit: Nov 2009
Beiträge: 216
|
|
Sehr gut, vielen dank!!!
|

12-01-2010, 18:00
|
|
Kangarooo
Registrierter Benutzer
|
|
Registriert seit: Nov 2009
Beiträge: 216
|
|
@Kropff Danke für den Link, aber ich vertshe noch nicht, wie ich es schaffe, dass die datei, welche downgeloadet wird, nur den tatsächlichen Namen bekommt, und nicht den kompletten Link als Name!
|

12-01-2010, 18:51
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.310
|
|
Zitat:
Zitat von Kangarooo
@Kropff Danke für den Link, aber ich vertshe noch nicht, wie ich es schaffe, dass die datei, welche downgeloadet wird, nur den tatsächlichen Namen bekommt, und nicht den kompletten Link als Name!
|
basename
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

13-01-2010, 07:49
|
|
Kangarooo
Registrierter Benutzer
|
|
Registriert seit: Nov 2009
Beiträge: 216
|
|
Ne, das ist klar wie ich den Name der Datei raus bekomme! nur wo trag ich den ein? Denn wenn ich den bei "filename=" eintrage, weiß der Code ja nicht, unter welcher Ordnerstruktur sich die Datei befindet!
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
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.
HTML-Code ist aus.
|
|
|
|
PHP News
|