我正在使用此代码下载文件:
if ($file_name) {
$file_url = $file_name;
header('Content-Type: application/octet-stream');
header("Content-Transfer-Encoding: Binary");
header("Content-disposition: attachment; filename=\"" . $file_url . "\"");
ob_clean();
flush();
readfile($file_url);
}
它可以正确下载小文件,但是当文件大小很大时,对于图像文件(如.jpg
)说Invalid Image
。对于.pdf
,它是invalid format
。我正在使用CodeIgniter框架。
$ file_name 以https://
答案 0 :(得分:3)
使用Codeigniter下载帮助程序。在您的控制器中:
$this->load->helper('download');
$data = file_get_contents($filePath);
$extension = end(explode(".", $filePath);
$name = "myfile" . "." . $extension;
force_download($name, $data);
答案 1 :(得分:1)
检查你的php.ini文件
ini_set(); //memory limit