php - 检查字符串是否为图像

标签 php image

有一个字符串格式的图片,输出这个字符串加上一些mime类型的头就可以在页面上渲染了,如何判断这个字符串是不是图片?

最佳答案

“成功时将返回一个图片资源。如果图片类型不受支持,数据不是可识别的格式,或者图片已损坏且无法加载,则返回 FALSE。”

例子:

<?php
$data = 'iVBORw0KGgoAAAANSUhEUgAAABwAAAASCAMAAAB/2U7WAAAABl'
       . 'BMVEUAAAD///+l2Z/dAAAASUlEQVR4XqWQUQoAIAxC2/0vXZDr'
       . 'EX4IJTRkb7lobNUStXsB0jIXIAMSsQnWlsV+wULF4Avk9fLq2r'
       . '8a5HSE35Q3eO2XP1A1wQkZSgETvDtKdQAAAABJRU5ErkJggg==';
$data = base64_decode($data);

$im = imagecreatefromstring($data);
if ($im !== false) {
    header('Content-Type: image/png');
    imagepng($im);
    imagedestroy($im);
}
else {
    echo 'An error occurred.';
}
?>

http://php.net/manual/en/function.imagecreatefromstring.php

关于php - 检查字符串是否为图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10663735/

相关文章:

php - 在PHP中将两个数组元素合并为一个数组元素

c++ - 无需读取整个图像的 OpenCV 图像尺寸

image - 带有图像文件内容的 Apache 基准测试 POST

c++ - CImg : Image binarization result fails

python - 使用Python从网页中提取图像链接

html - 网站样式 - 图像的一部分在调整大小之前不会显示

php - 将IP存入mysql数据库

javascript - 多人查看一条记录,1个人更新记录,如何通知其他人记录更新?

php - 在 Laravel 中,如何获取 *only* POST 参数?

php - cron 作业正在 magento 站点中运行 - 但未找到心跳