There is such a simple script that gives pictures to download

$file = ('files/'.$row['file']); header ("Content-Type: image/".$row['type']); header ("Accept-Ranges: bytes"); header ("Content-Length: ".filesize($file)); header ("Content-Disposition: attachment; filename=".$file); readfile($file); 

But after being saved to the computer? for some reason they do not open. And something I do not understand what's the matter.

    1 answer 1

    Solved the problem:

     <? $flnm = $_SERVER["QUERY_STRING"]; if(ini_get("zlib.output_compression")) ini_set("zlib.output_compression", "Off"); $flxt = strtolower(substr(strrchr($flnm,"."),1)); if(($flnm=="")||(!file_exists($flnm))){ echo "Error: file <i>".$flnm."</i> not found."; exit; } switch($flxt){ case "gif": $tpe="image/gif"; break; case "png": $tpe="image/png"; break; case "jpg": $tpe="image/jpg"; break; case "3gp": $tpe="video/3gpp"; break; case "jad": $tpe="text/vnd.sun.j2me.app-descriptor"; break; case "jar": $tpe="application/java-archive"; break; case "wml": $tpe="text/vnd.wap.wml"; break; case "wbmp": $tpe="image/vnd.wap.wbmp"; break; case "mid": $tpe="audio/midi"; break; case "mp4": $tpe="video/mp4"; break; case "flv": $tpe="video/x-flv"; break; case "ics": $tpe="text/calendar"; break; case "pdf": $tpe="application/pdf"; break; case "exe": $tpe="application/octet-stream"; break; case "zip": $tpe="application/zip"; break; case "doc": $tpe="application/msword"; break; case "xls": $tpe="application/vnd.ms-excel"; break; case "ppt": $tpe="application/vnd.ms-powerpoint"; break; default: $tpe="application/force-download"; } header("Pragma: public"); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Cache-Control: private", false); header("Content-Type: ".$tpe); header("Content-Disposition: attachment; filename=\"".basename($flnm)."\";"); header("Content-Transfer-Encoding: binary"); header("Content-Length: ".filesize($flnm)); readfile("$flnm"); exit(); ?> 

    Application, I have:

     header('location: /down.php?files/'.$row['file']);