當前位置:首頁 » 編程語言 » php圖片信息

php圖片信息

發布時間: 2022-07-16 19:38:08

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文字識別技術來進行圖片識別,這樣更方便,請看下面的方法:

  1. 首先,在電腦上安裝ocr文字識別軟體(迅捷ocr文字識別軟體)。

  2. 接著,運行ocr,選擇上面的『極速識別』功能。

  3. 然後,點擊左上角的『添加文件』,不需要識別的圖片添加進去。

  4. 最後,點擊操作下面的『開始識別』按鈕。

希望上方的方法可以幫助到你。

㈢ 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;
}
}

熱點內容
52好壓壓縮 發布:2025-03-07 06:04:47 瀏覽:68
相鄰演算法 發布:2025-03-07 06:01:51 瀏覽:581
編譯器中 發布:2025-03-07 06:01:44 瀏覽:481
電視現在什麼配置好 發布:2025-03-07 06:01:06 瀏覽:625
安卓內存很大為什麼還是卡 發布:2025-03-07 05:43:53 瀏覽:534
什麼配置的車厲害 發布:2025-03-07 05:43:06 瀏覽:456
魅族應用加密 發布:2025-03-07 05:41:51 瀏覽:655
c盤windows文件夾多大 發布:2025-03-07 05:35:58 瀏覽:616
長江存儲凈資產 發布:2025-03-07 05:35:50 瀏覽:219
gridview載入資料庫 發布:2025-03-07 05:20:31 瀏覽:372