php获取图像信息(php采集图片)

本文目录一览:

如何用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怎么读取内容页的图片

一般不向数据库插入图片 而是插入图片的src 通过src找到图片然后显示。

?php

session_start();

//array数组中放图片的格式

$uptypes = array(“image/jpg”,”image/jpeg”,”image/png”,”image/pjpeg”,”image/gif”,”image/bmp”,”image/x-png”);

$files =$_FILES[“uppic”];

if($files[“size”]2097152){ //图片大小判断

echo “上传图片不能大于2M”;

echo “meta http-equiv=’REFRESH’ CONTENT=’1;URL=pic.php'”;

exit;

}

$ftype =$files[“type”];

if(!in_array($ftype,$uptypes)){ //图片格式判断

echo “上传的图片文件格式不正确”;

echo “meta http-equiv=’REFRESH’ CONTENT=’1;URL=pic.php'”;

}

$fname = $files[“tmp_name”]; //在服务器临时存储名称

$image_info = getimagesize($fname);

$name = $files[“name”];

$str_name = pathinfo($name); //以数组的形式返回文件路劲的信息

$extname = strtolower($str_name[“extension”]); //把字符串改为小写 extensiorn扩展名

$upload_dir = “upload/”; //upload文件夹

$file_name = date(“YmdHis”).rand(1000,9999).”.”.$extname;

$str_file = $upload_dir.$file_name; //文件目录

//存入数据库

$con=mysql_connect(“localhost”,”root”,””);

if(!$con){

die((“数据库连接失败”).mysql_error());

}

mysql_select_db(“mywork”,$con);

$sql=”update user set picpath=’$str_file’ where user_name=’$username'”; //将图片地址插入数据库mywork

mysql_query($sql,$con);

mysql_close($con);

if(!file_exists($upload_dir)){

mkdir($upload_dir); //创建目录 成功则返回true 失败则返回flase

}

if(!move_uploaded_file($files[“tmp_name”],$str_file)){ //将上传的文件移动到新的目录 要移动文件和文件新目录 成功则返回true

echo “图片上传失败”;

echo “meta http-equiv=’REFRESH’ CONTENT=’1;URL=插入失败后希望跳转的页面”;

}

else{

//echo “img src=”.$str_file.””;

echo “图片上传成功”;

echo “meta http-equiv=’REFRESH’ CONTENT=’1;URL=插入成功希望挑战的页面”;

}

php怎么获取本地图片信息

用glob很方便就可获得。

$img = array(‘gif’,’png’,’jpg’);//所有图片的后缀名

$dir = ‘data/’;//文件夹名称

$pic = array();

foreach($img as $k=$v)

{

$pattern = $dir.’*.’.$v;

$all = glob($pattern);

$pic = array_merge($pic,$all);

}

foreach($pic as $p)

{

//分行分页显示代码

}

如果和图片是同一个文件夹,那要将

$dir = ‘data/’;//文件夹名称

改成

$dir = ‘./’;//文件夹名称

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

header(‘Content-Type:image/png’);

$url = “”;//图片链接

$ch = curl_init();

//Cookie:PHPSESSID=121b1127dcded8702c6a1e702c40eca4

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch,CURLOPT_COOKIE,’PHPSESSID=121b1127dcded8702c6a1e702c40eca4′);//如果不需要cookies就删除这条语句

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);

curl_setopt($ch, CURLOPT_TIMEOUT,0);//忽略超时

curl_setopt($ch, CURLOPT_NOBODY, false);

$str = curl_exec($ch);

curl_close($ch);

原创文章,作者:简单一点,如若转载,请注明出处:https://www.506064.com/n/127407.html

汽车小知识 小米SU7 今日油价 油耗计算器 电耗计算器 购置税计算器 贷款计算器 保险计算器 交通违章代码 体育新闻
(0)
简单一点的头像简单一点
上一篇 2024-10-03
下一篇 2024-10-03

相关推荐

发表回复

登录后才能评论