我的服务器上有一个pictrures库。图片存储在不同的外部服务器上。在我的服务器上只放置缩略图。 如何在php中创建一个“另存为”按钮,以便用户可以下载来自外部服务器的大图片文件。我需要一个简单的PHP脚本,它可以跨所有浏览器代理和不同的外部服务器下载jpg文件。该按钮将在html代码中实现。该按钮是以css样式格式化的常规链接。 那么如何正确地做到这一点。感谢。
我还想文件的路径应该以某种方式作为变量参数发送到php脚本。
答案 0 :(得分:1)
我猜您正在尝试自动下载图片(您希望弹出一个对话框,提示保存文件的位置)。
此网站上有一个很棒的教程,使用php header function to force download
检查出来:http://www.ryboe.com/tutorials/php-headers-force-download
答案 1 :(得分:0)
我找到了一些带有以下php脚本的解决方案
<?PHP
// Define the path to file
$file = $_GET['file'];
$name = basename ($file);
if(!file)
{
// File doesn't exist, output error
die('file not found');
}
else
{
// Set headers
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$name");
header("Content-Type: image/jpg");
header("Content-Transfer-Encoding: binary");
// Read the file from disk
readfile($file);
}
?>
我可以发送像url地址交叉html代码
之类的参数<a href="download.php?file=http://someserver/picture.jpg">download</a>
唯一的问题是它无法与所有服务器一起使用。这个文件的例子并不令人担心
http://backalleypics.com/Pictures/Letter Je~Ju/Jessica Alba/Jessica Alba 230.jpg
我不知道我需要做什么?
答案 2 :(得分:0)
从文件名中删除空格:
更改: http://backalleypics.com/Pictures/Letter Je~Ju/Jessica Alba/Jessica Alba 230.jpg
来: http://backalleypics.com/Pictures/Letter_Je~Ju/Jessica_Alba/Jessica_Alba_230.jpg