小编给大家分享一下PHP如何读取Excel内的图片,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
PHP的框架有哪些
PHP的框架:1,Laravel, Laravel是一款免费并且开源的PHP应用框架。2,Phalcon, Phalcon是运行速度最快的一个PHP框架。3,Symfony, Symfony是一款为Web项目准备的PHP框架。4,Yii, Yii是一款快速、安全和专业的PHP框架。5,CodeIgniter, CodeIgniter是一款非常敏捷的开源PHP框架。6,CakePHP, CakePHP是一款老牌的PHP框架1:8)。Kohana, Kohana是一款敏捷但是功能强大的PHP框架。
分别使用phpspreadsheet和PHPExcel扩展库来实现读取Excel内图片的功能:
composer require phpoffice/phpspreadsheet=1.8.2
然后就可以在项目里使用了
use 细胞phpoffice \ phpspreadsheet \ \协调; use PhpOffice \ PhpSpreadsheet \ IOFactory;=$ imageFilePath & # 39;。/上传/一/& # 39;,,//图片本地存储的路径 if (! file_exists (imageFilePath美元)),{,//如果目录不存在则递归创建 ,mkdir (imageFilePath美元,,0777,,真的); } try { ,inputFileName 美元;=,& # 39;。/文件/1. xlsx& # 39;,,//包含图片的Excel文件 ,objRead 美元;=,IOFactory: createReader (& # 39; Xlsx& # 39;); 美元,美元objSpreadsheet =, objRead→负载($ inputFileName); 美元,美元objWorksheet =, objSpreadsheet→getSheet (0); 美元,美元data =, objWorksheet→toArray (); 美元,foreach (objWorksheet→getDrawingCollection (), as 画美元),{ 列表才能(startColumn美元,,startRow美元),=,协调:coordinateFromString(图→美元getCoordinates ()); 时间=美元才能imageFileName 绘制→美元getCoordinates(),只mt_rand (1000,, 9999); switch 才能;(图→美元getExtension ()), { ,,case & # 39; jpg # 39;: ,,case & # 39; jpeg # 39;: ,,,imageFileName 美元。=,& # 39;jpg # 39;; ,,,source 美元;=,imagecreatefromjpeg(图→美元getPath ()); ,,,imagejpeg(来源、美元,美元imageFilePath 只imageFileName美元); ,,,休息; ,,case & # 39; gif # 39;: ,,,imageFileName 美元。=,& # 39;gif # 39;; ,,,source 美元;=,imagecreatefromgif(图→美元getPath ()); ,,,imagegif(来源、美元,美元imageFilePath 只imageFileName美元); ,,,休息; ,,case & # 39; png # 39;: ,,,imageFileName 美元。=,& # 39;. png # 39;; ,,,source 美元;=,imagecreatefrompng(图→美元getPath ()); ,,,imagepng(来源、美元,imageFilePath美元,美元imageFileName); ,,,休息; ,,} 时间=美元才能startColumn ABC2decimal ($ startColumn); $ data [$ startRow-1]才能[startColumn美元],=,imageFilePath 美元;只imageFileName美元; ,} 死,转储(元数据)(); },catch (\ Exception $ e), { ,throw $ e; } public function  ABC2decimal (abc)美元 { ,ten 美元;=,0; ,len 美元;=,strlen (abc); ,(i=1; i<美元=$ len;美元我+ +){ 美元才能char =, substr (abc美元,0 -我,1);//反向获取单个字符 美元才能int =,奥德($字符); 美元才能ten +=, (int - 65美元)*战俘(张26美元); ,} ,return 10美元; }
可以看的到,图片被读取并存到了本地服务器中
use PHPExcel_IOFactory; use PHPExcel_Cell; try { ,inputFileName 美元;=,& # 39;。/文件/1. xlsx& # 39;; ,inputFileType 美元;=,PHPExcel_IOFactory:识别($ inputFileName); ,objReader 美元;=,PHPExcel_IOFactory: createReader ($ inputFileType); 美元,美元objPHPExcel =, objReader→负载($ inputFileName); },catch (\ Exception $ e), { ,死(& # 39;加载文件发生错误:“& # 39;.pathinfo (inputFileName美元,PATHINFO_BASENAME)强生# 39;“:,& # 39;。e→美元getMessage ()); } 美元$ sheet =, objPHPExcel→getSheet (0); 美元$ data =,表→toArray();,//该方法读取不到图片,图片需单独处理=$ imageFilePath & # 39;。/上传/一/& # 39;,,//图片本地存储的路径 if (! file_exists (imageFilePath美元)),{ ,mkdir (imageFilePath美元,,0777,,真的); }//处理图片 foreach (表→美元getDrawingCollection (), as img美元),{ ,列表(startColumn美元,美元startRow),=, PHPExcel_Cell: coordinateFromString (img→美元getCoordinates());,//获取图片所在行和列 美元,美元imageFileName =, img→getCoordinates(),只mt_rand (1000,, 9999); ,开关(img→美元getExtension ()), { case 才能;& # 39;jpg # 39;: case 才能;& # 39;jpeg # 39;: null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null