Met mijn 3D-FTP file transfer programma kan ik mijn .exe
files up- en downloaden zonder problemen.
Maar als ik mijn files download met onderstaand programma van b.v. Joren de Wit , maar ook met soortgelijke programma's , dan werkt de exe file niet meer .
Zowel de Exe file als de jpg , bmp files verandert de grootte van de files .
Waaraan kan dat liggen , ik ben op dit gebied slecht op de hoogte wat er met de files kan gebeuren .

 
<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL);

function getFile($sLocation, $sName)
{
    if(file_exists($sLocation))
    {    
        header ('Cache-Control: must-revalidate, post-check=0, pre-check=0');
        header ('Content-Description: File Transfer');
        header ('Content-Type: application/octet-stream');
        header ('Content-Length: ' . filesize($sLocation));
        header ('Content-Disposition: attachment; filename=' . basename($sName));
        readfile($sLocation);
    }
    else
    {
        echo "<script>alert('Dit bestand bestaat niet.');</script>";
    }
}

$sDir = 'downloads/';
if(isset($_GET['file']))
{
    $sFile = trim($_GET['file']);
    if(!empty($sFile))
    {
        getFile($sDir.$sFile, $sFile);
    }
}
?>

<html>
<body>
    <div id="wrap">
        <p class="none small align-right"><a href="/codeSnippets/">&lt;-- Terug naar Snippets</a></p>
       
        <p>Voorbeeld van een downloadscript. Houd de locatie waar de bestanden staan door bij een download enkel dit script aan te roepen. 
        Het bestand wordt meegegeven in een GET variabelen en het script biedt de download aan de gebruiker aan.</p>
        
        <h3>Downloads</h3>
        <ul>
            <li><a href="downloadscript.php?file=OMGEVING.JPG">Omgeving</a></li>
            <li><a href="downloadscript.php?file=Camping2.bmp">CampingBmp</a></li>
            <li><a href="downloadscript.php?file=camp.exe">CampingExe</a></li>
        </ul>
        
        <?php
        // Weergeven broncode
        define('FILE', __FILE__);

                ?>
    </div>    
</body>
</html>

Het probleem heb ik opgelost , ben exit na readfile($sLocation);

Dus


function getFile($sLocation, $sName)
{
    if(file_exists($sLocation))
    {    
        header ('Cache-Control: must-revalidate, post-check=0, pre-check=0');
        header ('Content-Description: File Transfer');
        header ('Content-Type: application/octet-stream');
        header ('Content-Length: ' . filesize($sLocation));
        header ('Content-Disposition: attachment; filename=' . basename($sName));
        readfile($sLocation);
        exit;
    }
    else
    {
        echo "<script>alert('Dit bestand bestaat niet.');</script>";
    }
}


Een tweede probleempje is dat de datum van de file verandert in de huidige datum , hoe los ik dat op ?

Reageren