Php 如何在laravel 5中存储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

我用它上传excel文件,并将excel中的数据存储到数据库中。。我想将图像从excel存储到存储器,但没有成功。。这是我的密码

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