0

这是我的代码,

<?php
$file_name = "coupon.png";
$file_path = $_GET['path'];
$file_size = filesize($file_path);
header('Pragma: public');
header('Expires: 0');
header('Last-Modified: ' . gmdate('D, d M Y H:i ') . ' GMT');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Cache-Control: private', false);
header('Content-Type: application/octet-stream');
header('Content-Length: ' . $file_size);
header('Content-Disposition: attachment; filename="' . $file_name . '";');
header('Content-Transfer-Encoding: binary');
readfile($file_path);
?>

PS$_GET['path']为图片路径url

在 PC 的浏览器中,那些编码可以顺利运行。但是,如果用户使用他们的移动浏览器下载,它将显示一个新的网页选项卡。

用户有什么方法可以下载图像并自动存储到他们的移动图库中?

4

1 回答 1

0

试试这样:

<?php
$file_name = "coupon.png";
$file_path = $_GET['path'];
$file_size = filesize($file_path);
header('Pragma: public');
header('Expires: 0');
header('Last-Modified: ' . gmdate('D, d M Y H:i ') . ' GMT');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Cache-Control: private', false);
header('Content-Type: application/force-download'); // Browser cant identifiy the type. so it will force to download
header('Content-Length: ' . $file_size);
header('Content-Disposition: attachment; filename="' . $file_name . '";');
header('Content-Transfer-Encoding: binary');
readfile($file_path);
?>

因为手机浏览器不知道怎么打开文件,所以强制下载。

于 2012-10-25T12:13:41.033 回答