fopen fehler

Probier mal Folgendes:
PHP:
<?php

	ini_set('implicit_flush', true);

	$file = 'readme_de.txt';
	$byterate = 90.5;

	if( is_readable($file) && $fd = fopen($file, 'r') ) {
		header('Content-Type: application/octet-stream');
		header('Content-Length: '.filesize($file));
		header('Content-Disposition: attachment; filename="'.basename($file).'"');
		while( !feof($fd) ) {
			echo fread($fd, round($byterate*1024));
			sleep(1);
		}
		fclose($fd);
	}

?>
 
danke Gumbo so geht es nun wollte ich es noch mit Pfad angabe machen da habe ich wie folgt versucht.

PHP:
<?php

    ini_set('implicit_flush', true);

    $file = 'DSCF0098.JPG';
	$path = '/srv/www/htdocs/web2/html/';
    $byterate = 2.5;

    if( is_readable($path.$file) && $fd = fopen($path.$file, 'r') ) {
        header('Content-Type: application/octet-stream');
        header('Content-Length: '.filesize($path.$file));
        header('Content-Disposition: attachment; filename="'.basename($file).'"');
        while( !feof($fd) ) {
            echo fread($fd, round($byterate*1024));
            sleep(1);
        }
        fclose($fd);
    }

?>

Leider funktioniert das dan nicht mehr hast du dafür auch ne lösung?
 
In der $file-Variable kannst du auch den Pfad eintragen, da die basename()-Funktion dafür sorgt, dass nur der Dateiname als Attributwert angegeben wird.
Zusätzlich sollte noch im Fehlfall eine Fehlermeldung ausgegeben werden wie etwa:
PHP:
header($_SERVER['SERVER_PROTOCOL'].' 404 Not Found');
echo 'Die angeforderte Datei wurde nicht gefunden.';
 
Zurück