从其他网站下载时重命名文件

时间:2013-04-12 16:26:48

标签: php .htaccess download rename

我正在尝试重命名文件并将其下载给用户!

示例...在我的网站中,我提供从我的网站链接下载Google徽标! http://www.mywebsite.com/files/logo-mysite.jpg

然后该文件在用户计算机中保存为logo-mysite.jpg,但实际文件是从https://www.google.co.in/images/srpr/logo4w.png下载的

我们可以将https://www.google.co.in/images/srpr/logo4w.png临时图像保存到我们的网站,然后在下载时自动删除或在1小时内自动删除!

2 个答案:

答案 0 :(得分:1)

您可以通过添加内容处置标题来建议下载文件名:

header('Content-disposition', 'attachment;filename=logo-mysite.jpg');
die(file_get_contents('https://www.google.co.in/images/srpr/logo4w.png'));

显然,由于您正在下载带有jpg扩展名的png文件,这会产生问题,但我只是关注您的问题...要转换图像,您需要添加一些GD2代码行。

答案 1 :(得分:1)

使用header()功能设置用户将下载的名称:

header('Content-Type: image/png');
header('Content-Disposition: attachment; filename=logo-mysite.png');

// Open the new file, and dump it out to the user
$handle = fopen( "https://www.google.co.in/images/srpr/logo4w.png" );
fpassthru( $handle );
fclose( $handle );

如果你真的想将它从jpg转换为png,你需要通过ImageMagick或类似的方式运行它。