php移除图片exif信息(图片删除exif信息)

发布时间:2022-11-13

本文目录一览:

  1. php图片缩放,对于包含exif信息的数码图片怎么处理?
  2. php 怎么修改图片exif信息?或者有没有其他的程序可以修改的?
  3. PHP如何读取照片的exif信息实现代码
  4. PHP上传图片时,如何exif_read_data获取exif
  5. 我怎样才能修改图像EXIF数据与PHP
  6. php删除图片文件代码

php图片缩放,对于包含exif信息的数码图片怎么处理?

缩放属于php压缩成新图片,当然就去掉exif头信息; php获取exif使用 exif_read_data

php 怎么修改图片exif信息?或者有没有其他的程序可以修改的?

通过: 来修改。 教程看:这里 懒得打开的话就看这里

$image = new Imagick();
$image->newImage(300, 200, "black");
$image->setImageProperty('Exif:Make', 'Imagick');
echo $image->getImageProperty('Exif:Make');

PHP如何读取照片的exif信息实现代码

先来了解什么是图片的Exif信息 Exif是一种图象文件格式,它的数据存储与JPEG格式是完全相同的。 实际上Exif格式就是在JPEG格式头部插入了数码照片的信息,包括拍摄时的光圈、快门、白平衡、ISO、焦距、日期时间等各种和拍摄条件以及相机品牌、型号、色彩编码、拍摄时录制的声音以及全球定位系统(GPS)、缩略图等。简单地说,Exif=JPEG+拍摄参数。 因此,你可以利用任何可以查看JPEG文件的看图软件浏览Exif格式的照片,但并不是所有的图形程序都能处理Exif信息。 具体代码你可以参考下面的

/**
 * 获取图象信息的函数
 * 一个全面获取图象信息的函数
 * @access public
 * @param string $img 图片路径
 * @return array
 */
function GetImageInfoVal($ImageInfo, $val_arr) {
    $InfoVal = "未知";
    foreach ($val_arr as $name => $val) {
        if ($name == $ImageInfo) {
            $InfoVal = $val;
            break;
        }
    }
    return $InfoVal;
}
function GetImageInfo($img) {
    $imgtype = array("", "GIF", "JPG", "PNG", "SWF", "PSD", "BMP", "TIFF(intel byte order)", "TIFF(motorola byte order)", "JPC", "JP2", "JPX", "JB2", "SWC", "IFF", "WBMP", "XBM");
    $Orientation = array("", "top left side", "top right side", "bottom right side", "bottom left side", "left side top", "right side top", "right side bottom", "left side bottom");
    $ResolutionUnit = array("", "", "英寸", "厘米");
    $YCbCrPositioning = array("", "the center of pixel array", "the datum point");
    $ExposureProgram = array("未定义", "手动", "标准程序", "光圈先决", "快门先决", "景深先决", "运动模式", "肖像模式", "风景模式");
    $MeteringMode_arr = array(
        "0" => "未知",
        "1" => "平均",
        "2" => "中央重点平均测光",
        "3" => "点测",
        "4" => "分区",
        "5" => "评估",
        "6" => "局部",
        "255" => "其他"
    );
    $Lightsource_arr = array(
        "0" => "未知",
        "1" => "日光",
        "2" => "荧光灯",
        "3" => "钨丝灯",
        "10" => "闪光灯",
        "17" => "标准灯光A",
        "18" => "标准灯光B",
        "19" => "标准灯光C",
        "20" => "D55",
        "21" => "D65",
        "22" => "D75",
        "255" => "其他"
    );
    $Flash_arr = array(
        "0" => "flash did not fire",
        "1" => "flash fired",
        "5" => "flash fired but strobe return light not detected",
        "7" => "flash fired and strobe return light detected"
    );
    $exif = exif_read_data($img, "IFD0");
    if ($exif === false) {
        $new_img_info = array("文件信息" => "没有图片EXIF信息");
    } else {
        $exif = exif_read_data($img, 0, true);
        $new_img_info = array(
            "文件信息" => "-----------------------------",
            "文件名" => $exif['FILE']['FileName'],
            "文件类型" => $imgtype[$exif['FILE']['FileType']],
            "文件格式" => $exif['FILE']['MimeType'],
            "文件大小" => $exif['FILE']['FileSize'],
            "时间戳" => date("Y-m-d H:i:s", $exif['FILE']['FileDateTime']),
            "图像信息" => "-----------------------------",
            "图片说明" => $exif['IFD0']['ImageDescription'],
            "制造商" => $exif['IFD0']['Make'],
            "型号" => $exif['IFD0']['Model'],
            "方向" => $Orientation[$exif['IFD0']['Orientation']],
            "水平分辨率" => $exif['IFD0']['XResolution'] . $ResolutionUnit[$exif['IFD0']['ResolutionUnit']],
            "垂直分辨率" => $exif['IFD0']['YResolution'] . $ResolutionUnit[$exif['IFD0']['ResolutionUnit']],
            "创建软件" => $exif['IFD0']['Software'],
            "修改时间" => $exif['IFD0']['DateTime'],
            "作者" => $exif['IFD0']['Artist'],
            "YCbCr位置控制" => $YCbCrPositioning[$exif['IFD0']['YCbCrPositioning']],
            "版权" => $exif['IFD0']['Copyright'],
            "摄影版权" => $exif['COMPUTED']['Copyright.Photographer'],
            "编辑版权" => $exif['COMPUTED']['Copyright.Editor'],
            "拍摄信息" => "-----------------------------",
            "Exif版本" => $exif['EXIF']['ExifVersion'],
            "FlashPix版本" => "Ver. " . number_format($exif['EXIF']['FlashPixVersion'] / 100, 2),
            "拍摄时间" => $exif['EXIF']['DateTimeOriginal'],
            "数字化时间" => $exif['EXIF']['DateTimeDigitized'],
            "拍摄分辨率高" => $exif['COMPUTED']['Height'],
            "拍摄分辨率宽" => $exif['COMPUTED']['Width'],
            "光圈" => $exif['EXIF']['ApertureValue'],
            "快门速度" => $exif['EXIF']['ShutterSpeedValue'],
            "快门光圈" => $exif['COMPUTED']['ApertureFNumber'],
            "最大光圈值" => "F" . $exif['EXIF']['MaxApertureValue'],
            "曝光时间" => $exif['EXIF']['ExposureTime'],
            "F-Number" => $exif['EXIF']['FNumber'],
            "测光模式" => GetImageInfoVal($exif['EXIF']['MeteringMode'], $MeteringMode_arr),
            "光源" => GetImageInfoVal($exif['EXIF']['LightSource'], $Lightsource_arr),
            "闪光灯" => GetImageInfoVal($exif['EXIF']['Flash'], $Flash_arr),
            "曝光模式" => ($exif['EXIF']['ExposureMode'] == 1 ? "手动" : "自动"),
            "白平衡" => ($exif['EXIF']['WhiteBalance'] == 1 ? "手动" : "自动"),
            "曝光程序" => $ExposureProgram[$exif['EXIF']['ExposureProgram']],
            "曝光补偿" => $exif['EXIF']['ExposureBiasValue'] . "EV",
            "ISO感光度" => $exif['EXIF']['ISOSpeedRatings'],
            "分量配置" => (bin2hex($exif['EXIF']['ComponentsConfiguration']) == "01020300" ? "YCbCr" : "RGB"),
            "图像压缩率" => $exif['EXIF']['CompressedBitsPerPixel'] . "Bits/Pixel",
            "对焦距离" => $exif['COMPUTED']['FocusDistance'] . "m",
            "焦距" => $exif['EXIF']['FocalLength'] . "mm",
            "等价35mm焦距" => $exif['EXIF']['FocalLengthIn35mmFilm'] . "mm",
            "用户注释编码" => $exif['COMPUTED']['UserCommentEncoding'],
            "用户注释" => $exif['COMPUTED']['UserComment'],
            "色彩空间" => ($exif['EXIF']['ColorSpace'] == 1 ? "sRGB" : "Uncalibrated"),
            "Exif图像宽度" => $exif['EXIF']['ExifImageLength'],
            "Exif图像高度" => $exif['EXIF']['ExifImageWidth'],
            "文件来源" => (bin2hex($exif['EXIF']['FileSource']) == 0x03 ? "digital still camera" : "unknown"),
            "场景类型" => (bin2hex($exif['EXIF']['SceneType']) == 0x01 ? "A directly photographed image" : "unknown"),
            "缩略图文件格式" => $exif['COMPUTED']['Thumbnail.FileType'],
            "缩略图Mime格式" => $exif['COMPUTED']['Thumbnail.MimeType']
        );
    }
    return $new_img_info;
}
$innerhtml = "";
$exif = GetImageInfo($_GET['img']);
$innerhtml .= "<TABLE>";
foreach ($exif as $name => $val) {
    $innerhtml .= "<TR><TD>{$name}</TD><TD>{$val}</TD></TR>";
}
$innerhtml .= "<TR><TD colspan=\"2\"";
if ($_GET['img']) {
    $image = exif_thumbnail($_GET['img']);
} else {
    $image = false;
}
if ($image !== false) {
    $innerhtml .= "<img src=\"thumbnail.php?img=" . $_GET['img'] . "\"";
} else {
    // no thumbnail available, handle the error here
    $innerhtml .= "No thumbnail available";
}
$innerhtml .= "</TD></TR></TABLE>";
<html>
<head>
<title>图片信息</title>
<meta http-equiv="Content-Type" content="text/html; charset=??????">
</head>
<body>
<script>
<!--
//初始化内容值
parent.followTd<?=$_GET['r_id'];?>.innerHTML='<?=$innerhtml;?>';
//已读取
parent.document.images.followImg<?=$_GET['r_id'];?>.loaded='yes';
-->
</script>
</body>
</html>

PHP上传图片时,如何exif_read_data获取exif

php获取图片的exif信息,php自带一个exif_read_data函数可以用来读取图片的exif信息,代码来自php手册:

echo "test1.jpg:<br />\n";
$exif = exif_read_data('tests/test1.jpg', 'IFD0');
echo $exif === false ? "No header data found.<br />\n" : "Image contains headers<br />\n";
$exif = exif_read_data('tests/test2.jpg', 0, true);
echo "test2.jpg:<br />\n";
foreach ($exif as $key => $section) {
    foreach ($section as $name => $val) {
        echo "$key.$name: $val<br />\n";
    }
}

输出结果如下:

test1.jpg:
No header data found.
test2.jpg:
FILE.FileName: test2.jpg
FILE.FileDateTime: 1017666176
FILE.FileSize: 1240
FILE.FileType: 2
FILE.SectionsFound: ANY_TAG, IFD0, THUMBNAIL, COMMENT
COMPUTED.html:  
COMPUTED.Height: 1
COMPUTED.Width: 1
COMPUTED.IsColor: 1
COMPUTED.ByteOrderMotorola: 1
COMPUTED.UserComment: Exif test image.
COMPUTED.UserCommentEncoding: ASCII
COMPUTED.Copyright: Photo (c) M.Boerger, Edited by M.Boerger.
COMPUTED.Copyright.Photographer: Photo (c) M.Boerger
COMPUTED.Copyright.Editor: Edited by M.Boerger.
IFD0.Copyright: Photo (c) M.Boerger
IFD0.UserComment: ASCII
THUMBNAIL.JPEGInterchangeFormat: 134
THUMBNAIL.JPEGInterchangeFormatLength: 523
COMMENT.0: Comment #1.
COMMENT.1: Comment #2.
COMMENT.2: Comment #3end
THUMBNAIL.JPEGInterchangeFormat: 134
THUMBNAIL.Thumbnail.Height: 1
THUMBNAIL.Thumbnail.Height: 1

我怎样才能修改图像EXIF数据与PHP

你可以参考一下这个方法 Imagick::setImageProperty() 网页链接 需要先安装 ImageMagick

php删除图片文件代码

php删除文件非常简单,用unlink函数简单操作:

<?php 
$file = 'dirlist.php'; 
$result = @unlink($file); 
if ($result == false) { 
    echo '蚊子赶走了'; 
} else { 
    echo '无法赶走'; 
} 
?>