Download functie returned niet van functie

Status
Niet open voor verdere reacties.

geenID

Gebruiker
Lid geworden
1 jul 2009
Berichten
312
Goedenavond heren,

Ik wil een bestand (*.exe) van de server downloaden, dus heb ik een functie gemaakt. Maar voor een onbekende reden wil de functie wil niet returnen.
Ik heb voor het gemak een echo in de functie gezet, maar deze echo wordt nooit uitgevoerd, maar het bestand wordt wel gedownload. Enig idee waarom hij de echo(of de code erna) niet uitvoert?

Code:
	public function getDownload($filename)
    {
        // Split the file request.
        $file_path  = "files/" . $filename;
        $path_parts = pathinfo($file_path);
        $file_name  = $path_parts['basename'];
        $file_ext   = $path_parts['extension'];


        if (is_file($file_path))
        {
            header('Content-Description: File Transfer');
            header('Content-Type: application/exe');
            header('Content-Disposition: attachment; filename=' . $file_name);
            header('Content-Transfer-Encoding: binary');
            header('Expires: -1');
            header('Pragma: public');
            header('Content-Length: ' . filesize($file_path));

            flush();
            readfile($file_path);
             
            echo "test";  // Wordt niet uitgevoerd!!!
            return true;            
        }
    }
 
Wordt deze echo wel uitgevoerd?
Code:
	public function getDownload($filename)
    {
        // Split the file request.
        $file_path  = "files/" . $filename;
        $path_parts = pathinfo($file_path);
        $file_name  = $path_parts['basename'];
        $file_ext   = $path_parts['extension'];


        if (is_file($file_path))
        {
            header('Content-Description: File Transfer');
            header('Content-Type: application/exe');
            header('Content-Disposition: attachment; filename=' . $file_name);
            header('Content-Transfer-Encoding: binary');
            header('Expires: -1');
            header('Pragma: public');
            header('Content-Length: ' . filesize($file_path));

            flush();
            readfile($file_path);
            return true;            
        }
        echo "En deze dan?";
    }
 
Nee ook niet. Op de één of andere manier wordt de code ná headers niet uitgevoerd...
 
Waar het me even om ging is te kijken of het statement if (is_file($file_path)) wel een True oplevert.
 
zet dit bovenaan je script
// Report all PHP errors (see changelog)
error_reporting(E_ALL);

en als ik volgende bekijk

cit: echo "En deze dan?"; }
cit: Nee ook niet.

stel ik de vraag of ik volgende code kan zien
$ikRoepIetsOp->getDownload($filename);
 
Volgens mij moet je iets voor de headers echo'en want anders zijn de headers al uitgevoerd. ik weet het niet zeker, maar ik ben hier ook al tegen aan gelopen in mijn scripts.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan