假设用户上传了一个 .txt 或 .php 文件,我想为其生成一个 .png 缩略图。有没有一种简单的方法,不需要我打开文件并将其内容写入新的.png?我有可用的 ImageMagick 和 FFmpeg,一定有办法利用它,但我一直在寻找,但还没有运气。
提前致谢。
假设用户上传了一个 .txt 或 .php 文件,我想为其生成一个 .png 缩略图。有没有一种简单的方法,不需要我打开文件并将其内容写入新的.png?我有可用的 ImageMagick 和 FFmpeg,一定有办法利用它,但我一直在寻找,但还没有运气。
提前致谢。
$image = new Imagick();
$image->readImage("text:" . $filename . "[0]");
$image->resizeImage($width, $height, Imagick::FILTER_LANCZOS, 1);
$image->setImageFormat('png');
$image->writeImage($linkImage);
您可以使用 PHP 的类imagick
将文件转换为图像。它适用于 txt 文件。
try
{
$im = new imagick("inputfile.txt[0]");
if ($im)
{
$im->setImageAlphaChannel(imagick::ALPHACHANNEL_DEACTIVATE);
$im->setImageFormat('jpg');
$im->setImageCompressionQuality(85);
file_put_contents("outfile.jpg",$im->getImageBlob());
}
} catch(Exception $e)
{
echo "cannot process";
}
// When imagick is unable to read the file, it may wrongly
// set internal server error 500 status code.
// I do not understand why that happens, because the script
// continues normally. Anyway, lets overwrite it here for all cases.
header("HTTP/1.1 200 OK");