Déchargement de photos d'un serveur web vers un pc (download) - Apprendre-PHP.com

Rechercher
Boutique en ligne, solution e-commerce, script PHP et PERL : RAYNETTE

déchargement de photos d'un serveur web vers un pc...

Par debphp78 -  0 reponse -  Le 10/03/2011 -  Flux RSS - 

Bonjour,

Je cherche à descendre sur un pc des photos gérées par un serveur web en utilisant PHP.

En utilisant des Headers la photo ( le fichier) est bien transmis sur le pc mais il n'est plus reconnu comme une photo (jpg). Je pense que le contenu du fichier résultant sur le pc n'a plus la bonne structure. Il n'est plus organisé comme une photo jpg.

La taille du fichier écit sur le pc est bien celle de la photo d'origine. Je supose donc que le contenu n'a pas été copié dans le bon ordre.

Il semble que les photos de taille inférieure à 1meg donnent un bon resultat.

 

Quelqy'un aurait il une idée?

________________________________ la page PHP utilisée ( récuprée sur le web)__________________

<?PHP // // ce pgm fait la copie de la photo en paramêtre // sur le disque de la machine du navigateur // $fullPath= "c:/wamp/www/pics/".$_GET['file']; downloadFile( $fullPath );

function downloadFile( $fullPath ) { // Must be fresh start if( headers_sent() ) die('Headers Sent'); // Required for some browsers if(ini_get('zlib.output_compression')) ini_set('zlib.output_compression', 'Off'); // File Exists? if( file_exists($fullPath) ){ // Parse Info / Get Extension $fsize = filesize($fullPath); $path_parts = pathinfo($fullPath); $ext = strtolower($path_parts["extension"]); // Determine Content Type switch ($ext) { case "png": $ctype="image/png"; break; case "jpeg": case "jpg": $ctype="image/jpeg"; break; default: $ctype="application/force-download"; } header("Pragma: public"); // required header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Cache-Control: private",false); // required for certain browsers header('Content-Type: application/download'); header("Content-Type: $ctype"); //header('Content-Type: application/octet-stream'); header("Content-Disposition: attachment; filename=\"".basename($fullPath)."\";" ); header("Content-Transfer-Encoding: binary"); header("Content-Length: ".$fsize); ob_clean(); flush(); readfile( $fullPath ); } else die('File Not Found'); } exit; ?>

 

 

Réponses apportées à cette discussion

Aucune réponse apportée actuellement

Ajouter une réponse à la discussion

Seuls les membres loggués sont autorisés à poster dans les forums !