fopen fehler

Spranta

Erfahrenes Mitglied
Hallo

ich versuche mit folgendne Script ein Download zu starten bei kleineren Dateien funktioniert es aber sobald größere kommen streigt das script. Hier mal das Script.
PHP:
<?
ob_start();
include("mime.php");

$file = "readme_de.txt";
$speed = 90.5;

$extget = explode(".", $file);
$extension = $extget[count($extget)-1];
$sendmime = $mimetypes[$extension];

if(file_exists($file) && is_file($file)) {

    header("Content-type: $sendmime");
    header("Content-Length: ".filesize($file));
    header("Content-Disposition: attachment; filename=\"$file\"");

    flush();

    $fd = fopen($file, "r");
    while(!feof($fd)) {
        echo fread($fd, round($speed*1024));
        flush();
        sleep(1);
    }
    fclose ($fd);

}
?>

mime.php
PHP:
<?php
$mimetypes = array(
    'ez'        => 'application/andrew-inset',
    'hqx'        => 'application/mac-binhex40',
    'cpt'        => 'application/mac-compactpro',
    'doc'        => 'application/msword',
    'bin'        => 'application/octet-stream',
    'dms'        => 'application/octet-stream',
    'lha'        => 'application/octet-stream',
    'lzh'        => 'application/octet-stream',
    'exe'        => 'application/octet-stream',
    'rar'        => 'application/x-rar-compressed',
    'class'        => 'application/octet-stream',
    'so'        => 'application/octet-stream',
    'dll'        => 'application/octet-stream',
    'oda'        => 'application/oda',
    'pdf'        => 'application/pdf',
    'ai'        => 'application/postscript',
    'eps'        => 'application/postscript',
    'ps'        => 'application/postscript',
    'smi'        => 'application/smil',
    'smil'        => 'application/smil',
    'mif'        => 'application/vnd.mif',
    'xls'        => 'application/vnd.ms-excel',
    'ppt'        => 'application/vnd.ms-powerpoint',
    'wbxml'        => 'application/vnd.wap.wbxml',
    'wmlc'        => 'application/vnd.wap.wmlc',
    'wmlsc'        => 'application/vnd.wap.wmlscriptc',
    'bcpio'        => 'application/x-bcpio',
    'vcd'        => 'application/x-cdlink',
    'pgn'        => 'application/x-chess-pgn',
    'cpio'        => 'application/x-cpio',
    'csh'        => 'application/x-csh',
    'dcr'        => 'application/x-director',
    'dir'        => 'application/x-director',
    'dxr'        => 'application/x-director',
    'dvi'        => 'application/x-dvi',
    'spl'        => 'application/x-futuresplash',
    'gtar'        => 'application/x-gtar',
    'hdf'        => 'application/x-hdf',
    'js'        => 'application/x-javascript',
    'skp'        => 'application/x-koan',
    'skd'        => 'application/x-koan',
    'skt'        => 'application/x-koan',
    'skm'        => 'application/x-koan',
    'latex'        => 'application/x-latex',
    'nc'        => 'application/x-netcdf',
    'cdf'        => 'application/x-netcdf',
    'sh'        => 'application/x-sh',
    'shar'        => 'application/x-shar',
    'swf'        => 'application/x-shockwave-flash',
    'sit'        => 'application/x-stuffit',
    'sv4cpio'    => 'application/x-sv4cpio',
    'sv4crc'    => 'application/x-sv4crc',
    'tar'        => 'application/x-tar',
    'tcl'        => 'application/x-tcl',
    'tex'        => 'application/x-tex',
    'texinfo'    => 'application/x-texinfo',
    'texi'        => 'application/x-texinfo',
    't'            => 'application/x-troff',
    'tr'        => 'application/x-troff',
    'roff'        => 'application/x-troff',
    'man'        => 'application/x-troff-man',
    'me'        => 'application/x-troff-me',
    'ms'        => 'application/x-troff-ms',
    'ustar'        => 'application/x-ustar',
    'src'        => 'application/x-wais-source',
    'xhtml'        => 'application/xhtml+xml',
    'xht'        => 'application/xhtml+xml',
    'zip'        => 'application/zip',
    'au'        => 'audio/basic',
    'snd'        => 'audio/basic',
    'mid'        => 'audio/midi',
    'midi'        => 'audio/midi',
    'kar'        => 'audio/midi',
    'mpga'        => 'audio/mpeg',
    'mp2'        => 'audio/mpeg',
    'mp3'        => 'audio/mpeg',
    'aif'        => 'audio/x-aiff',
    'aiff'        => 'audio/x-aiff',
    'aifc'        => 'audio/x-aiff',
    'm3u'        => 'audio/x-mpegurl',
    'ram'        => 'audio/x-pn-realaudio',
    'rm'        => 'audio/x-pn-realaudio',
    'rpm'        => 'audio/x-pn-realaudio-plugin',
    'ra'        => 'audio/x-realaudio',
    'wav'        => 'audio/x-wav',
    'pdb'        => 'chemical/x-pdb',
    'xyz'        => 'chemical/x-xyz',
    'bmp'        => 'image/bmp',
    'gif'        => 'image/gif',
    'ief'        => 'image/ief',
    'jpeg'        => 'image/jpeg',
    'jpg'        => 'image/jpeg',
    'jpe'        => 'image/jpeg',
    'png'        => 'image/png',
    'tiff'        => 'image/tiff',
    'tif'        => 'image/tiff',
    'djvu'        => 'image/vnd.djvu',
    'djv'        => 'image/vnd.djvu',
    'wbmp'        => 'image/vnd.wap.wbmp',
    'ras'        => 'image/x-cmu-raster',
    'pnm'        => 'image/x-portable-anymap',
    'pbm'        => 'image/x-portable-bitmap',
    'pgm'        => 'image/x-portable-graymap',
    'ppm'        => 'image/x-portable-pixmap',
    'rgb'        => 'image/x-rgb',
    'xbm'        => 'image/x-xbitmap',
    'xpm'        => 'image/x-xpixmap',
    'xwd'        => 'image/x-xwindowdump',
    'igs'        => 'model/iges',
    'iges'        => 'model/iges',
    'msh'        => 'model/mesh',
    'mesh'        => 'model/mesh',
    'silo'        => 'model/mesh',
    'wrl'        => 'model/vrml',
    'vrml'        => 'model/vrml',
    'css'        => 'text/css',
    'html'        => 'text/html',
    'htm'        => 'text/html',
    'asc'        => 'text/plain',
    'txt'        => 'text/plain',
    'rtx'        => 'text/richtext',
    'rtf'        => 'text/rtf',
    'sgml'        => 'text/sgml',
    'sgm'        => 'text/sgml',
    'tsv'        => 'text/tab-separated-values',
    'wml'        => 'text/vnd.wap.wml',
    'wmls'        => 'text/vnd.wap.wmlscript',
    'etx'        => 'text/x-setext',
    'xsl'        => 'text/xml',
    'xml'        => 'text/xml',
    'mpeg'        => 'video/mpeg',
    'mpg'        => 'video/mpeg',
    'mpe'        => 'video/mpeg',
    'qt'        => 'video/quicktime',
    'mov'        => 'video/quicktime',
    'mxu'        => 'video/vnd.mpegurl',
    'avi'        => 'video/x-msvideo',
    'movie'        => 'video/x-sgi-movie',
    'ice'        => 'x-conference/x-cooltalk',
);
?>

Gruß
Spranta
 
Hi

Eine Fehlermeldung bei solchen Fragen währ nicht schlecht.

Schau dir mal Bitte die Parameter von fread an. Du liest von einer Datei nur 92672 bytes.

Mfg Akkie
 
Was genau funktioniert denn nicht? Gibt es vielleicht eine Fehlermeldung? Ein paar mehr Informationen wäre sicherlich sehr hilfreich.
 
es kommt nicht direkt ne fehlermeldung sondern es läd nicht alles bzw wen er alles läd ist die datei kaputt

Ich will einfach nur das PHP einen Download startet am besten mit einer Geschwindigkeitsbegrenzung

PS: würde mich freuen wenn mich einer per ICQ(166547908) adden würde und mir helfen könnte
 
Zuletzt bearbeitet:
Nein, er benutzt sie nicht falsch... Er liest bei jedem Durchlauf der Schleife 92672 Bytes. Und die Schleife wird erst abgebrochen, wenn der Dateizeiger am Ende angekommen ist...
 
PHP:
<?
error_reporting(E_ALL);
ob_start();
include("mime.php");

$file = "Clever-Das_Spiel_zu_Show_CD-Cover.rar";
$path = "/srv/www/htdocs/web2/html/";
$speed = "5.5";

$extget = explode(".", $file);
$extension = $extget[count($extget)-1];
$sendmime = $mimetypes[$extension];

if(file_exists($path.$file) && is_file($path.$file)) {

    header("Cache-control: private");
    header("Content-Type: $sendmime");
    header("Content-Length: ".filesize($file));
    header("Content-Disposition: filename=$file");

    flush();

    $fd = fopen($path.$file, "r");
    while(!feof($fd)) {
        fread($fd, round($speed*1024));
        flush();
        sleep(1);
    }
    fclose ($fd);

}
?>

So sieht nun meine Datei aus das problem ist jetzt aber beim aufruf der Datei läd er die Datei vor und dan kommt erst das Fenster das ein DL kommt. Will aber Datei öffnen Fenster mit Download eben wie ein normaler Download auch
 
Zurück