首页 - 币安app > php图片信息(php图片管理)

php图片信息(php图片管理)

发布于:2022-12-17 作者:沫沫 阅读:15

今天给各位分享php图片信息的知识,其中也会对php图片管理进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

php怎么获得图片里的信息

可以使用getimagesize() 函数。

代码如下:

$arr = getimagesize("book.jpg");

print_r($arr);

输出:

Array ( 

[0] = 134 //宽度

[1] = 170  //高度

[2] = 2    //代表jpg

[3] = width="134" height="170" 

[bits] = 8 

[channels] = 3 

[mime] = image/jpeg 

)

如何用php调用图片?

PHP调用?好的,如果是HTML的话很简单(只需要img标记插入即可),那么我回答一下PHP的载入吧,代码如下:

// 设置图片路径

$path = '/tupian/1.jpg';

// 获取图片信息

$imgInfo = getimagesize($path);

// 获取图片类型

$imgType = $imgInfo[2];

// 检测图片类型

switch ($imgType) {

    case 1: // gif

       // 采用gif方式载入

       $img = imagecreatefromgif($path);

       // 声明文件为图片类型

       header('Content-Type:image/gif;');

       // 采用gif方式输出

       imagegif($img);

       break;

    case 2: // jpg

       // 采用jpg方式载入

       $img = imagecreatefromjpeg($path);

       // 声明文件为图片类型

       header('Content-Type:image/jpeg;');

       // 采用jpeg方式输出

       imagejpeg($img);

       break;

    case 3: // png

       // 采用png方式载入

       $img = imagecreatefrompng($path);

       // 声明文件为图片类型

       header('Content-Type:image/png;');

       // 采用png方式输出

       imagepng($img);

       break;

    default:

       exit('图片格式不支持!');

}

// 销毁图片资源

imagedestroy($img);

// 删除变量

unset($img);

以上若还有什么不明白的,欢迎追问~

PHP后台添加图片信息和文字信息

同时上传啊,比如先inster文字信息进库,query成功之后,再上传图片。

当然也可以先上传图片,再文字入库,文字入库不成功的话,再unlink(删除)掉图片。

上传是没有先后次序的。所有数据一起被发往服务器。

(你的在线编辑器不错,能发我一个吗?170525859163@.com)谢谢。有空我们还能多多交流。QQ就是前面那个数字了。

顺便贴个上传代码给你

if($upload_file !="")

{

$upload_file_name='XXXXXX';

if($upload_file){

$file_size_max = 8388608;// 10M限制(bytes)

$store_dir = "./XXXX/";// 上传位置

$accept_overwrite = 1;//是否允许覆盖

// 检查文件大小

if ($upload_file_size $file_size_max) {

echo 'div align="center"对不起,你的图片容量大于规定/div';

exit;

}

// 检查读写文件

if (file_exists($store_dir . $upload_file_name) !$accept_overwrite) {

Echo 'div align="center"存在相同文件名的图片/div';

exit;

}

// 复制文件到指定目录

if (!move_uploaded_file($upload_file,$store_dir.$upload_file_name)) {

echo 'div align="center"复制图片失败/div';

exit;

}

}

$Erroe=$_FILES['upload_file']['error'];

switch($Erroe){

case 0:

Echo 'div align="center"照片上传成功/div'; break;

case 1:

Echo 'div align="center"上传的图片超过了系统所允许的最大值./div'; break;

case 2:

Echo 'div align="center"上传的图片超过了系统所允许的最大值(10M)。/div'; break;

case 3:

Echo 'div align="center"图片只有部分被上传,请在个人信息修改里添加照片。/div';break;

case 4:

Echo 'div align="center"图片文件未被上传,请在个人信息修改里添加照片。/div';break;

}

}

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],

      /*

      The actual aperture value of lens when the image was taken.

      Unit is APEX.

      To convert this value to ordinary F-number(F-stop),

      calculate this value's power of root 2 (=1.4142).

      For example, if the ApertureValue is '5', F-number is pow(1.41425,5) = F5.6.

      */

      "光圈"      =  $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]],

      /*

      Brightness of taken subject, unit is APEX. To calculate Exposure(Ev) from BrigtnessValue(Bv), you must add SensitivityValue(Sv).

      Ev=Bv+Sv  Sv=log((ISOSpeedRating/3.125),2)

      ISO100:Sv=5, ISO200:Sv=6, ISO400:Sv=7, ISO125:Sv=5.32. 

      */

      "曝光补偿"    =  $exif[EXIF][ExposureBiasValue]."EV",

      "ISO感光度"    =  $exif[EXIF][ISOSpeedRatings],

      "分量配置"    =  (bin2hex($exif[EXIF][ComponentsConfiguration])=="01020300"?"YCbCr":"RGB"),//'0x04,0x05,0x06,0x00'="RGB" '0x01,0x02,0x03,0x00'="YCbCr"

      "图像压缩率"  =  $exif[EXIF][CompressedBitsPerPixel]."Bits/Pixel",

      "对焦距离"    =  $exif[COMPUTED][FocusDistance]."m",

      "焦距"      =  $exif[EXIF][FocalLength]."mm",

      "等价35mm焦距"  =  $exif[EXIF][FocalLengthIn35mmFilm]."mm",

      /*

      Stores user comment. This tag allows to use two-byte character code or unicode. First 8 bytes describe the character code. 'JIS' is a Japanese character code (known as Kanji).

      '0x41,0x53,0x43,0x49,0x49,0x00,0x00,0x00':ASCII

      '0x4a,0x49,0x53,0x00,0x00,0x00,0x00,0x00':JIS

      '0x55,0x4e,0x49,0x43,0x4f,0x44,0x45,0x00':Unicode

      '0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00':Undefined

      */

      "用户注释编码"  =  $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  .=  "TRTD{$name}/TDTD{$val}/TD/TR";

}

 

$innerhtml  .=  "TRTD 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图片信息和php图片管理的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

二维码

扫一扫关注我们

版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件至举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

标签: #php图片信息

相关文章

发表评论