php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 13.09.2010, 08:13  
Benutzer
 
Registriert seit: 12.11.2009
Beiträge: 90
PHP-Kenntnisse:
Fortgeschritten
PiXeL1337 befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Downloadscript liest nur Quelltext ein

Hallo,

Ich möchte Datein zum downloaden anbieten. Das Downloadfenster kommt auch aber wenn ich die Datei dann downloade ist nur der Qeulltext der Webseite in der Datei und nicht der eigentliche Inhalt.

PHP-Code:
public function makeDownload($file$dir)
    {
        
$dir str_replace("@""/"$dir);
        
$dir .= "/";
        if(
file_exists($dir.$file) && strstr($dir"downloads"))
        {
            
$filesize filesize($dir.$file);
            
$type $this->getType($file);
            
header("Content-Type: $type");
            
header("Content-Length: $filesize");
            
//header("Content-type: application/octet-stream");  
            
header("Content-Disposition: attachment; filename=\"$file\"");
            
readfile($dir.$file);

        }        
    } 
Der Pfad zur Datei stimmt auch.

Ich hoffe mir kann hier einer helfen
PiXeL1337 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 13.09.2010, 08:45  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.563
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

mein Code sieht dazu so aus ...

PHP-Code:
$Datei="documents/Beispiel.doc";
if (
file_exists($Datei)) {
   
$Dateiname basename($Datei);
   
$Groesse filesize($Datei);
   
$file=fopen($Datei,'r');
   
set_time_limit(0);
   if (
$file) {
      
header("Pragma: public");
      
header("Expires: 0");
      
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
      
header("Cache-Control: private",false);
      
header("Content-Type: application/force-download");
      
header("Content-Type: application/octet-stream");
      
header("Content-Type: application/download");
      
header("Content-Disposition: attachment; filename=\"".$Dateiname."\";");
      
header("Content-Description: File Transfer");
      
header("Content-Transfer-Encoding: binary");
      
header('Content-Length: '.$Groesse );
      
flush();
      while (!
feof($file)) {
         print(
fread($file,4096));
         
flush();
      }
   }
fclose($file);
die();

- damit liefere ich in dem Fall ein Word-Document aus ... klappt aber genauso für CSV und beliebige andere .. nur für PDF müsste ich den Typ ein wenig abwandeln, vermutlich geht es aber auch ohne, wenn das Programm vernünftig installiert ist ...
eagle275 ist offline  
Alt 13.09.2010, 09:16  
Benutzer
 
Registriert seit: 12.11.2009
Beiträge: 90
PHP-Kenntnisse:
Fortgeschritten
PiXeL1337 befindet sich auf einem aufstrebenden Ast
Standard

Ich habe Dein Script mal an meins angepasst.

Folgendes passiert: Wenn ich jetzt z.b eine Textdatei die 4 Byte groß ist Downloaden will stehen in dieser die ersten 4 Byte aus dem Quelltext. :/
PiXeL1337 ist offline  
Alt 13.09.2010, 09:24  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.563
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

tja - offensichtlich liest du die falsche Datei ...

bei mir wird exakt die Datei gelesen, die ich brauche ..
eagle275 ist offline  
Alt 13.09.2010, 09:26  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.072
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

Sorry, aber von welchem Quelltext ist hier die Rede? Irgendwie verstehe ich das Problem nicht.
Asipak ist offline  
Alt 13.09.2010, 09:30  
Erfahrener Benutzer
 
Registriert seit: 23.08.2010
Beiträge: 495
PHP-Kenntnisse:
Fortgeschritten
mimomamu sorgt für eine eindrucksvolle Atmosphäremimomamu sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von PiXeL1337 Beitrag anzeigen
... aber wenn ich die Datei dann downloade ist nur der Qeulltext der Webseite in der Datei und nicht der eigentliche Inhalt.
Dann musst du aus dem Quelltext den eigentlichen Inhalt erzeugen. Wie das geht hängt von der PRogrammiersprache ab, in der der Quelltext geschrieben ist.
__________________
Meinungen, die ich geäußert habe, sind nicht notwendigerweise meine eigenen. Abweichungen von der deutschen Rechtschreibung unterliegen dem Urheberrecht, dürfen aber unter den Bedingungen von verwendet werden
mimomamu ist offline  
Alt 13.09.2010, 09:33  
Benutzer
 
Registriert seit: 12.11.2009
Beiträge: 90
PHP-Kenntnisse:
Fortgeschritten
PiXeL1337 befindet sich auf einem aufstrebenden Ast
Standard

Aber selbst wenn ich die Datei "per Hand" auswähle und darauf achte das der Pfad korrekt ist funktioniert es nicht.

Mit dem Quelltext meinete ich in diesem Fall das was von dem Browser interpretiert wird.

rechtsklick -> Quelltext anzeigen

Geändert von PiXeL1337 (13.09.2010 um 09:38 Uhr).
PiXeL1337 ist offline  
Alt 13.09.2010, 09:42  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.563
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

was willst du überhaupt zum Download anbieten ? du kannst das erzeugte HTML deiner PHP-Anwendung nicht direkt zum download anbieten mE ... dafür gibts ja im Browser den Quelltext ....

für mich sieht es immer noch so aus, dass dein readfile($dir.$file); die falsche Datei liest ..

Geändert von eagle275 (13.09.2010 um 09:45 Uhr).
eagle275 ist offline  
Alt 13.09.2010, 09:45  
Benutzer
 
Registriert seit: 12.11.2009
Beiträge: 90
PHP-Kenntnisse:
Fortgeschritten
PiXeL1337 befindet sich auf einem aufstrebenden Ast
Standard

Ich will ja NICHT den Quelltext anbieten sondern text, doc oder pdf.

Das problem ist das in den Datein nicht der eigentliche inhalt steht sondern das HTML der Seite.
PiXeL1337 ist offline  
Alt 13.09.2010, 09:47  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.563
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

ja dann passt der Pfad nicht .. hast du es mal mit meiner Lösung über fopen ( ) .. versucht ?

und lass dir vorher den $dir.$file nochmal ausgeben ..

UND PRÜF BITTE , ob dein CODE auch in den THEN-Zweig deiner If Prüfung reingeht (Echo "Hier"; direkt nach if .. { reicht ja )
eagle275 ist offline  
 


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
Absatz im Quelltext löschen Ralph777 PHP Tipps 2010 9 01.09.2010 11:57
[Erledigt] NUR Text, nicht Quelltext auslesen ooalexoo PHP Tipps 2010 8 07.02.2010 12:03
[Erledigt] Bildveerlinkung ->Link nicht im Quelltext anzeigen? Ditb PHP Tipps 2009 25 16.01.2010 13:17
Element erstellen, in Quelltext einfügen und auf dieses zugreifen können R4v3r JavaScript, Ajax und mehr 8 18.12.2009 11:33
Firefox und der Quelltext.. a.jakob HTML, Usability und Barrierefreiheit 5 04.01.2008 04:43
Quelltext korrigieren PHP Tipps 2007 7 02.01.2007 23:05
Quelltext anderer Seiten cycap PHP Tipps 2007 29 03.01.2006 13:40
Keinen Zeilenumbruch im Quelltext erzeugen? pino PHP Tipps 2005-2 5 04.10.2005 14:08
preg_match beim quelltext einer html-seite dackel-gott-whaa PHP-Fortgeschrittene 11 21.09.2005 15:11
html Quelltext Leerzeichen per Zufall ersetzen PHP Tipps 2005-2 13 30.06.2005 21:08
Problem beim Quelltext bearbeiten PHP Tipps 2005 2 01.02.2005 13:46
Quelltext anzeige geht nicht themonk Off-Topic Diskussionen 14 14.09.2004 20:22
Quelltext in Textdatei speichern PHP Tipps 2004 19 18.07.2004 18:36
quelltext auslesen problem??? PHP Tipps 2004 17 14.06.2004 19:46

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
function makedownload, datei geht nicht auf, nur mit quelltext, nur quelltext laden, php download hängt quelltext an, download hängt quelltext nicht gelesen werden, php file download quelltext, quelltext inhalt download, dateien über den quelltext downloaden, header(\content-disposition: attachment quelltext, php quellcode download, php datei zum download quelltext, quelltext im download php, php datei download falscher inhalt, readfile img ausgabe falsch

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:15 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