Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Portal > Foren > PHP > PHP-Programmierung > Download Script
Antwort
 
Themen-Optionen
Alt 03.04.2006, 04:58   Nach oben    #1
Neuer Benutzer
 
Registriert seit: 19.03.2006
Beiträge: 17
Standard Download Script

Download Script
mit internen und externen Files


download.php
PHP-Code:
<?php
//Downloadscript

define("ALLOW_INCLUDE"true);
include 
"downloads.php";

//Übergebene ID überprüfen
if (isset($_GET['id']) && preg_match("/[1234567890]+/"$_GET['id'])) {
    if (isset(
$downloads[$_GET['id']])) {
        
$filename substr($downloads[$_GET['id']], 
                           
strrpos($downloads[$_GET['id']], "/"));
        
$filesize = @filesize($downloads[$_GET['id']]);
        
        
//Headerinformationen senden
        
header("Content-type: application/octet-stream");
        
header("Content-Disposition: attachment; filename=$filename");
        if (
$filesizeheader("Content-Length: $filesize");
        
        
//Datei laden
        
readfile($downloads[$_GET['id']]);
    }
    else echo 
"Die gewünschte ID existiert nicht.";
}
else echo 
"Die gewünschte ID existiert nicht.";

?>
downloads.php
PHP-Code:
<?php
//Downloaddatei
if (!defined("ALLOW_INCLUDE")) die();

// Beispiel für externe Files
$downloads[1] = "http://www.domain.de/rarfile.zip";
$downloads[2] = "http://www.muster.com/zipfile.zip";

// Beispiel für interne Files
$downloads[3] = "download/pdf/readme.pdf";
$downloads[4] = "../bilder/urlaub/skifahren.jpg";

?>
Beide Dateien in einem Ordner einlegen und Datei aufruf "http://www.meinedomain.de/download.php?id=1"

Bin kein Profi mit PHP also erwartet nicht so viel Hilfe von mir. Danke

Geändert von karabey (03.04.2006 um 05:01 Uhr).
karabey ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 03.04.2006, 05:17   Nach oben    #2
Neuer Benutzer
 
Registriert seit: 19.03.2006
Beiträge: 17
Standard

Also Leute muss mal melden das es unter Explorer Probleme gibt. Die Datei wird mit der richtigen Größe runtergeladen aber die Datei Name stimmt nicht. Unter OPERA funzt es ohne Probleme.

Derzeit weis ich leider nicht warum.

Geändert von karabey (03.04.2006 um 05:19 Uhr).
karabey ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 03.04.2006, 09:24   Nach oben    #3
Projektleiter
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.225
Standard

außer einem 'funzt nicht' sehe ich keinerlei Problem bei deinem post.

Kannst du daher bitte noch eine konkrete Frage stellen?

Danke.
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 03.04.2006, 10:15   Nach oben    #4
BIN EIN KRASSA HELD!!!111
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.184
Standard

hats damit zu tun ?
-> http://support.microsoft.com/kb/q279667/

hier:
http://www.bme.ie/resource/php/phpap...ELATEDLINKS%22

wird ein workaround für den IE beschrieben, das man für das obrige script wohl anpassen können müsste

PHP-Code:
if (strstr('MSIE 5.5'$browser)
     || 
strstr('MSIE 6.01'$browser))
    {
        
header('Content-Disposition: filename="'.$saveasname.'"');
    }
    else
    {
        
header('Content-Disposition: attachment; filename="'.$saveasname.'"');
    } 
mfg
robo47
robo47 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 05.04.2006, 09:40   Nach oben    #5
Neuer Benutzer
 
Registriert seit: 19.03.2006
Beiträge: 17
Standard

Genau der Problem besteht wegen dem Header.

PHP-Code:
<?php 
function DownloadFile($filename

    
// Check filename 
    
if (empty($filename) || !file_exists($filename)) 
    { 
        return 
FALSE
    } 
    
// Create download file name to be displayed to user 
    
$saveasname basename($filename); 
    
// Send binary filetype HTTP header 
    
header('Content-Type: application/octet-stream'); 
    
// Send content-length HTTP header 
    
header('Content-Length: '.filesize($filename)); 
    
// Send content-disposition with save file name HTTP header 
    
header('Content-Disposition: attachment; filename="'.$saveasname.'"'); 
    
// Output file 
    
readfile($filename); 
    
// Done 
    
return TRUE

?>
Nur das ganze wird wiederrum nicht mit Datei Name ausgegeben. Es wird nur die Datei Typ erkannt.
karabey 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
Diverses aus meinem Apache Logs robo47 Tools, Server, Betriebssysteme 3 25.05.2007 22:52
php script (mit mysql-abfrage)wird nicht zu ende ausgeführt lodee PHP-Programmierung 2 12.09.2006 12:39
PHP Script alle x Sekunden ausführen | .bat Script? dsxs Sonstige Programmiersprachen 2 03.08.2006 12:15
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


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