强制下载的时候指定客户端下载路径?

<?php
$content ="photo.jpg";
header("Content-Type:application/force-download");
header("Content-Length:".filesize($content));
header('Content-Disposition:attachment;filename='.'photo_test');
readfile($content);
?>

上面的代码运行后,资源photo.jpg将下载到 Downloads目录下面,文件名为 photo_test

可否指定下载到本机的 /tmp目录下,名字为 photo_test ?

我再次表达一下,服务器端有个文件down.php (上面的代码),当我在客户端打开时
remote_ip/down.php
服务器端的资源 photo.jpg 下载到客户端的 /tmp 文件夹下面,,名为 /tmp/photo_test.
我的代码运行后,这个服务器端的资源只能下载到 客户端的Downloads 文件夹下面,并且还要客户端点击确认。

我感觉做不到:强制下载的时候指定客户端的下载路径。

阅读 3.6k
4 个回答

做不到。服务器不可能控制用户机器的. 这个filename=xxx 只能是建议名字. 不是强制的.

使用curl下载远程图片


function image($url,$path='images/')
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
    $file = curl_exec($ch);
    curl_close($ch);
    $filename = pathinfo($url, PATHINFO_BASENAME);
    $resource = fopen($path . $filename, 'w');
    fwrite($resource, $file);
    fclose($resource);

}

我看成是服务器端的tmp目录了,服务器端是可以实现的

客户端需要自己在下载的时候手动设置

不行,请测试

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题