php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.06.2004, 22:40  
Gast
 
Beiträge: n/a
Standard Dateidownload nicht mehr möglich!

Hallo @,

ich habe immer den Dateidownload mit Hilfe eines PHP-Script realisiert. Es funktionierte alles einwandfrei, bis ich den Provider gewechselt habe. Jetzt bekomme ich ständig folgende Fehlaermeldung:

Warning: Cannot modify header information - headers already sent by (output started at /home/www/htdocs/user507/html/de/php/download.php: in /home/www/htdocs/user507/html/de/php/download.php on line 31

Warning: Cannot modify header information - headers already sent by (output started at /home/www/htdocs/user507/html/de/php/download.php: in /home/www/htdocs/user507/html/de/php/download.php on line 36

Warning: readfile() [function.readfile]: open_basedir restriction in effect. File(/home/www/user507/html/de/download/lebenslauf-rogula.pdf) is not within the allowed path(s): (/home/www/htdocs/user507/) in /home/www/htdocs/user507/html/de/php/download.php on line 38

Warning: readfile(/home/www/user507/html/de/download/lebenslauf-rogula.pdf) [function.readfile]: failed to create stream: Operation not permitted in /home/www/htdocs/user507/html/de/php/download.php on line 38

Was mache ich denn falsch???
HILFE......

MfG
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 08.06.2004, 22:43  
Gast
 
Beiträge: n/a
Standard

1. Hau die header() Anweisung nach ganz oben im Script.
2. open_basedir ist AFAIK 'ne Einstellung des Servers, was das genau ist weiß ich nicht.
3. [readfile] ich wüsste nicht, dass man pdf Dateien mit readfile() auslesen kann!
 
Alt 08.06.2004, 22:54  
Gast
 
Beiträge: n/a
Standard download.php - Inhalt

<html>
<head>
<title>Download</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php

// $download sei der Bezeichner für die zu ladende Datei
$download = $_GET['download'];

// Dieses Verzeichnis liegt außerhalb des Document Root und
// ist nicht per URL erreichbar.
$basedir = "/home/www/user507/html/de/download";

// Übersetzung von Download-Bezeichner in Dateinamen.
$filelist = array(
"plik1" => "lebenslauf-rogula.pdf"
);

// Einbruchsversuch abfangen.
if (!isset($filelist[$download]))
die("Datei $download nicht vorhanden.");

// Vertrauenswürdigen Dateinamen basteln.
$filename = sprintf("%s/%s", $basedir, $filelist[$download]);

// Passenden Datentyp erzeugen.
header("Content-Type: application/pdf");

// Passenden Dateinamen im Download-Requester vorgeben,
// z. B. den Original-Dateinamen
$save_as_name = basename($filelist[$download]);
header("Content-Disposition: attachment; filename=\"$save_as_name\"");
// Datei ausgeben.
readfile($filename);

?>
</body>
</html>

Vielleicht jetzt könnt Ihr mir helfen?
 
Alt 09.06.2004, 10:51  
Gast
 
Beiträge: n/a
Standard UND WAS NUN ???

Hallo @,

ich habe ein bisschen recherchiert, und es gibt folgendes:
1. danke ich Euch für die schnelle Hilfe!
2. man sollte tatsächlich kein Output vor header() setzen
3. durch das "open_basedir" kann Zugriff auf Dateien auf alle
Verzeichnisse unterhalb des hier angegebenen Verzeichnisses beschränkt werden.
Eigentlich eine sehr empfehelnswerte Konfiguration.
4. mit readfile() kann man keine *.pdf Dateien zum Download ("Datei speichern unter...")anbieten!
5. alle HTML Tags habe ich rausgeschmissen - die sind überflüssig


...also was jetzt?
Wie kann ich einen Dateidownload reslisieren, und zwar unabhängig von Dateityp?

Unter http://www.dclp-faq.de/q/q-datei-download.html habe ich folgendes gefungen:
*******************************************
// $download sei der Bezeichner für die zu ladende Datei
// etwa:
$download = $_GET['download'];

// Dieses Verzeichnis liegt außerhalb des Document Root und
// ist nicht per URL erreichbar.
$basedir = "/home/www/download";

// Übersetzung von Download-Bezeichner in Dateinamen.
$filelist = array(
"file1" => "area1/datei1.zip",
"file2" => "area1/datei2.zip",
"file3" => "area2/datei1.zip"
);

// Einbruchsversuch abfangen.
if (!isset($filelist[$download]))
die("Datei $download nicht vorhanden.");

// Vertrauenswürdigen Dateinamen basteln.
$filename = sprintf("%s/%s", $basedir, $filelist[$download]);

// Passenden Datentyp erzeugen.
header("Content-Type: application/octet-stream");

// Passenden Dateinamen im Download-Requester vorgeben,
// z. B. den Original-Dateinamen
$save_as_name = basename($filelist[$download]);
header("Content-Disposition: attachment; filename=\"$save_as_name\"");

// Datei ausgeben.
readfile($filename);
************************************************** ******

Davon habe ich mein Script entworfen.
Gibt es was besseres, universelles???
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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 an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem bei Dateidownload via PHP Script niffi PHP-Fortgeschrittene 7 01.06.2007 19:39
dateidownload mit limit für große dateien imported_kremser PHP Tipps 2007 6 25.04.2007 16:27
Dateidownload aus Datenbank Problem beim IE, Headerprobleme? tomx992 PHP-Fortgeschrittene 3 25.09.2006 22:41
Dateidownload per PHP Daskaras PHP Tipps 2006 14 12.05.2006 19:50
content-type bei dateidownload Stinger PHP-Fortgeschrittene 4 02.03.2006 09:00
URL bei Dateidownload unsichtbar machen ZeHa PHP Tipps 2005-2 12 23.09.2005 16:51
Dateidownload - Filenamen verbergen?! PHP Tipps 2005-2 9 08.08.2005 22:08
Dateidownload ohne Zwischenspeichern PHP Tipps 2005-2 12 13.07.2005 10:23
Dateidownload Mano PHP Tipps 2005 10 22.03.2005 12:07
Dateidownload aus Datenbank tomx992 PHP-Fortgeschrittene 10 04.02.2005 18:41
header für Dateidownload robo47 PHP Tipps 2004-2 5 08.11.2004 13:22
Dateidownload per Script klappt nur teilweise? PHP Tipps 2004 2 25.10.2004 11:50
dateidownload PHP Tipps 2004 17 09.09.2004 20:03
[Erledigt] fenster dateidownload beim öffnen eine php seite &lt;-- hilf Server, Hosting und Workstations 7 16.07.2004 16:45

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php pdf readfile header nicht korrekt online, pdf dateidownload php cannot modify, application pdf download nicht möglich, php einbruchsversuch abfangen, html tag für dateidownload, kein dateidownload mehr möglich

Alle Zeitangaben in WEZ +2. Es ist jetzt 03:07 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.