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进行图片识别,不如使用ocr文字识别技术来进行图片识别,这样更方便,请看下面的方法:
首先,在电脑上安装ocr文字识别软件(迅捷ocr文字识别软件)。
接着,运行ocr,选择上面的‘极速识别’功能。
然后,点击左上角的‘添加文件’,不需要识别的图片添加进去。
最后,点击操作下面的‘开始识别’按钮。
希望上方的方法可以帮助到你。
㈢ PHP如何读取照片的exif信息实现代码
先来了解什么是图片的Exif信息
Exif是一种图象文件格式,它的数据存储与JPEG格式是完全相同的。
实际上Exif格式就是在JPEG格式头部插入了数码照片的信息,包括拍摄时的光圈、快门、白平衡、ISO、焦距、日期时间等各种和拍摄条件以及相机品牌、型号、色彩编码、拍摄时录制的声音以及全球定位系统(GPS)、缩略图等。简单地说,Exif=JPEG+拍摄参数。
因此,你可以利用任何可以查看JPEG文件的看图软件浏览Exif格式的照片,但并不是所有的图形程序都能处理Exif信息。
具体代码你可以参考下面的
<?
/**
*获取图象信息的函数
*一个全面获取图象信息的函数
*@accesspublic
*@paramstring$img图片路径
*@returnarray
*/
functionGetImageInfoVal($ImageInfo,$val_arr){
$InfoVal="未知";
foreach($val_arras$name=>$val){
if($name==$ImageInfo){
$InfoVal=&$val;
break;
}
}
return$InfoVal;
}
functionGetImageInfo($img){
$imgtype=array("","GIF","JPG","PNG","SWF","PSD","BMP","TIFF(intelbyteorder)","TIFF(motorolabyteorder)","JPC","JP2","JPX","JB2","SWC","IFF","WBMP","XBM");
$Orientation=array("","topleftside","toprightside","bottomrightside","bottomleftside","leftsidetop","rightsidetop","rightsidebottom","leftsidebottom");
$ResolutionUnit=array("","","英寸","厘米");
$YCbCrPositioning=array("","thecenterofpixelarray","thedatumpoint");
$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"=>"flashdidnotfire",
"1"=>"flashfired",
"5"=>"",
"7"=>"",
);
$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-dH: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],
/*
.
UnitisAPEX.
ToconvertthisvaluetoordinaryF-number(F-stop),
calculatethisvalue'spowerofroot2(=1.4142).
Forexample,iftheApertureValueis'5',F-numberispow(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]],
/*
Brightnessoftakensubject,unitisAPEX.TocalculateExposure(Ev)fromBrigtnessValue(Bv),youmustaddSensitivityValue(Sv).
Ev=Bv+SvSv=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",
/*
Storesusercomment.Thistagallowstousetwo-bytecharactercodeorunicode..'JIS'isaJapanesecharactercode(knownasKanji).
'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?"digitalstillcamera":"unknown"),
"场景类型"=>(bin2hex($exif[EXIF][SceneType])==0x01?"Adirectlyphotographedimage":"unknown"),
"缩略图文件格式"=>$exif[COMPUTED][Thumbnail.FileType],
"缩略图Mime格式"=>$exif[COMPUTED][Thumbnail.MimeType]
);
}
return$new_img_info;
}
$innerhtml="";
$exif=GetImageInfo($_GET['img']);
$innerhtml.="<TABLE>";
foreach($exifas$name=>$val){
$innerhtml.="<TR><TD>{$name}</TD><TD>{$val}</TD></TR>";
}
$innerhtml.="<TR><TDcolspan="2">";
if($_GET['img']){
$image=exif_thumbnail($_GET['img']);
}else{
$image=false;
}
if($image!==false){
$innerhtml.="<imgsrc="thumbnail.php?img=".$_GET['img']."">";
}else{
//nothumbnailavailable,handletheerrorhere
$innerhtml.="Nothumbnailavailable";
}
$innerhtml.="</TD></TR></TABLE>";
?>
<html>
<head>
<title>图片信息</title>
<metahttp-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怎么获取本地图片信息
用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调用图片
写个复杂点的答案,有些场合要用到。见笑
<?php
header('Content-Type:image/jpeg');
$data=file_get_contents('/tupian/1.jpg');
echo$data;
?>
㈥ PHP中获取变量中的图片信息
就这个片段来说取<p>,</p>之间的内容:
preg_match("/<p>(.*?)<\/p>/sm",$content,$temp_con,PREG_SET_ORDER);
注意</p>中的/要转义。
得出的结果$temp_con是数组,
$temp_con[1]就是您想要的。
或者:
preg_match("/<img (.*?)>/sm",$content,$temp_con,PREG_SET_ORDER);
结果是$temp_con[0]。
如果变量里有多个图片,要取出所有的,用preg_match_all。
㈦ PHP图片类型异常怎么办
摘要 首先从你的错误提示“图片格式错误”来看,证明代码进入了switch ($info[2]) { ......}的default分支,而且如果你没有报其他E_WARNING或者E_NOTICE的话,那么证明getimagesize函数有正确使用,那么就需要查看传入的参数了,也就是你传入imageCut函数的第一个参数,这里也就是$userPath.$filename,建议你打印一下$userPath.$filename,看一下是否符合自己的需求;
㈧ PHP后台添加图片信息和文字信息
同时上传啊,比如先inster文字信息进库,query成功之后,再上传图片。
当然也可以先上传图片,再文字入库,文字入库不成功的话,再unlink(删除)掉图片。
上传是没有先后次序的。所有数据一起被发往服务器。
(你的在线编辑器不错,能发我一个吗?[email protected])谢谢。有空我们还能多多交流。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;
}
}