图像按钮“另存为”从外部服务器PHP脚本保存文件

时间:2012-01-07 00:45:05

标签: php image button download external

我的服务器上有一个pictrures库。图片存储在不同的外部服务器上。在我的服务器上只放置缩略图。 如何在php中创建一个“另存为”按钮,以便用户可以下载来自外部服务器的大图片文件。我需要一个简单的PHP脚本,它可以跨所有浏览器代理和不同的外部服务器下载jpg文件。该按钮将在html代码中实现。该按钮是以css样式格式化的常规链接。 那么如何正确地做到这一点。感谢。

我还想文件的路径应该以某种方式作为变量参数发送到php脚本。

3 个答案:

答案 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