Ich habe eine Seite mit einer Bildergalerie (alle SVGs) und würde dem Benutzer möchte in der Lage sein, sie als pngs zum Download (in der Zukunft sie eine Wahl als svg, png, jpg zu speichern, oder pdf haben sollte, aber Lassen Sie uns eine Sache nach der anderen behandeln).Wie ändere ich das Format einer Datei in PHP?
Ich habe versucht, die Antwort here gefunden. Die Datei wird als PNG heruntergeladen, aber beim Öffnen bekomme ich einen Fehler, dass die Datei beschädigt ist.
index.html:
<a href="/path/to/file/download.php?http://example.com/uploads/icon-100.svg">
<button> Download PNG </button>
</a>
download.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);
?>
Die anderen Antworten, die ich nur die Erweiterung Adresse gefunden haben, ändern oder Umbenennen der Datei, nicht das Format/Typ ändern. Siehe here.
Wie kann ich ein Dateiformat/Typ in PHP ändern?
Dank!
ist wahrscheinlich eine gute Zeit zu lernen, dass nur die Erweiterung einer Datei ändern ändert nicht den tatsächlichen Inhalt/Format der Datei in irgendeiner Weise; Wenn man ein Schwein "Orange" nennt, ist es keine Zitrusfrucht irgendeiner Art, es ist immer noch ein Schwein –
Wenn Sie das Format einer Datei ändern wollen, müssen Sie den tatsächlichen Inhalt dieser Datei ändern; und zum Ändern einer SVG-Format-Datei in eine PNG-Format-Datei ist wahrscheinlich etwas, was Sie brauchen, um eine Bibliothek für Sie zu tun zu finden –
http://stackoverflow.com/questions/4809194/convert-svg-image-to-png- mit-php –