Php 如何在laravel 5中存储excel工作表中的图像
我用它上传excel文件,并将excel中的数据存储到数据库中。。我想将图像从excel存储到存储器,但没有成功。。这是我的密码Php 如何在laravel 5中存储excel工作表中的图像,php,excel,image,laravel-5,Php,Excel,Image,Laravel 5,我用它上传excel文件,并将excel中的数据存储到数据库中。。我想将图像从excel存储到存储器,但没有成功。。这是我的密码 public function addExcel(Request $request) { $request->validate([ 'file' => 'required' ]); Excel::load($request->file('file')->getRealPath(), function ($reader
public function addExcel(Request $request)
{
$request->validate([
'file' => 'required'
]);
Excel::load($request->file('file')->getRealPath(), function ($reader) {
foreach ($reader->toArray() as $key => $row) {
$data['model_name'] = $row['model_name'];
$data['part_number'] = $row['part_number'];
if(!empty($data)) {
DB::table('products')->insert($data);
}
}
});
return 'done';
}
它将通过此软件包后面使用的本机库进行。有关如何从excel获取图像的详细信息,请参阅他们的文档链接: $i=0; foreach($spreadsheet->getActiveSheet()->getDrawingCollection()作为$drawing){ if($drawing instanceof\PhpOffice\PhpSpreadsheet\Worksheet\MemoryDrawing){ ob_start(); 调用用户函数( $drawing->getRenderingFunction(), $drawing->getImageResource() ); $imageContents=ob_get_contents(); ob_end_clean(); 开关($drawing->getMimeType()){ case\PhpOffice\PhpSpreadsheet\Worksheet\MemoryDrawing::MIMETYPE\u PNG: $extension='png'; 打破 case\PhpOffice\PhpSpreadsheet\Worksheet\MemoryDrawing::MIMETYPE\u GIF: $extension='gif'; 打破 case\PhpOffice\PhpSpreadsheet\Worksheet\MemoryDrawing::MIMETYPE\u JPEG: $extension='jpg'; 打破 } }否则{ $zipReader=fopen($drawing->getPath(),'r'); $imageContents=''; 而(!feof($zipReader)){ $imageContents.=fread($zipReader,1024); } fclose($zipReader); $extension=$drawing->getExtension(); } $myFileName='00_Image.+$i...$扩展名; 文件内容($myFileName,$imageContents); }
是的,这段代码适用于图像,但如何保存数据?图像数据?还是其他数据?其他数据。。因为if语句总是不执行,而else语句总是执行 $i = 0; foreach ($spreadsheet->getActiveSheet()->getDrawingCollection() as $drawing) { if ($drawing instanceof \PhpOffice\PhpSpreadsheet\Worksheet\MemoryDrawing) { ob_start(); call_user_func( $drawing->getRenderingFunction(), $drawing->getImageResource() ); $imageContents = ob_get_contents(); ob_end_clean(); switch ($drawing->getMimeType()) { case \PhpOffice\PhpSpreadsheet\Worksheet\MemoryDrawing::MIMETYPE_PNG : $extension = 'png'; break; case \PhpOffice\PhpSpreadsheet\Worksheet\MemoryDrawing::MIMETYPE_GIF: $extension = 'gif'; break; case \PhpOffice\PhpSpreadsheet\Worksheet\MemoryDrawing::MIMETYPE_JPEG : $extension = 'jpg'; break; } } else { $zipReader = fopen($drawing->getPath(),'r'); $imageContents = ''; while (!feof($zipReader)) { $imageContents .= fread($zipReader,1024); } fclose($zipReader); $extension = $drawing->getExtension(); } $myFileName = '00_Image_'.++$i.'.'.$extension; file_put_contents($myFileName,$imageContents); }