在网站页面中包含许多带有下载选项的图像。如果我单击下载按钮,它会自动下载到用户系统上,并显示在浏览器可下载页面上。我有像
这样的PHP代码$image = file_get_contents('http://website.com/images/logo.png');
file_put_contents('C:/Users/ASUS/Downloads/image.jpg', $image);
以上编码工作正常。但是我需要提供要保存的图像的路径名。在用户方面,我们不知道路径。
我需要PHP代码才能使用浏览器下载位置并下载图片需要显示浏览器下载。
答案 0 :(得分:1)
$filename = '/images/'.basename($_POST['text']);
file_put_contents($filename, $content);
答案 1 :(得分:0)
您必须在网络服务器上的某处保存/下载图像,然后使用标题功能将文件发送给用户,例如:
$file = 'path_to_image';
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.basename($file).'"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
readfile($file);
exit;
}
else {
echo "file not exists";
}
答案 2 :(得分:0)
无法将图像存储在特定的用户位置。您不能强迫用户。您必须建议他存储特定位置。而且您也不知道文件系统是什么在用户系统中,并且用户可以在任何地方设置下载路径,这样你就无法得到它。
答案 3 :(得分:0)
`<?php
$filename ='http://website.com/images/logo.png';
$size = @getimagesize($filename);
$fp = @fopen($filename, "rb");
if ($size && $fp)
{
header("Content-type: {$size['mime']}");
header("Content-Length: " . filesize($filename));
header("Content-Disposition: attachment; filename=$filename");
header('Content-Transfer-Encoding: binary');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
fpassthru($fp);
exit;
}
header("HTTP/1.0 404 Not Found");
?>`