【发布时间】:2016-08-23 10:09:53
【问题描述】:
我有一个带有图片库(所有 svg)的网站,并希望用户能够将它们下载为 png(将来他们应该可以选择保存为 svg、png、jpg 或 pdf,但让我们一次处理一件事)。
我尝试了找到here 的答案。该文件以 png 格式下载,但打开时出现文件损坏/损坏的错误。
index.html:
<a href="/path/to/file/download.php?http://example.com/uploads/icon-100.svg">
<button> Download PNG </button>
</a>
下载.php:
<?php
function replace_extension($filename, $new_extension) {
$info = pathinfo($filename);
return $info['filename'] . '.' . $new_extension;
}
$url = $_SERVER['QUERY_STRING'];
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.replace_extension( basename($url), 'png').'"');
readfile($url);
?>
我发现的其他答案仅涉及更改扩展名或重命名文件,而不是更改格式/类型。见here。
如何在 php 中更改文件格式/类型?
谢谢!
【问题讨论】:
-
现在可能是了解简单更改文件扩展名不会以任何方式更改该文件的实际内容/格式的好时机;称猪为“橙色”并不能使它成为任何柑橘类水果,它仍然是猪
-
如果你想改变一个文件的格式,你需要改变那个文件的实际内容;并且要将 svg 格式文件更改为 png 格式文件,您可能需要找到一个库来为您完成
-
@HamzaZafeer 谢谢!
标签: php file-conversion