ÿØÿà JFIF ÿá Exif MM * ÿÛ C
Server IP : 199.250.214.225 / Your IP : 3.135.216.108 Web Server : Apache System : Linux vps64074.inmotionhosting.com 3.10.0-1160.105.1.vz7.214.3 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : nicngo5 ( 1001) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /home/nicngo5/fund.old.nicn.gov.ng/funds-old/vendor/maatwebsite/excel/src/Maatwebsite/Excel/Readers/ |
Upload File : |
<?php namespace Maatwebsite\Excel\Readers; use Closure; use Maatwebsite\Excel\Excel; use Maatwebsite\Excel\Exceptions\LaravelExcelException; /** * * LaravelExcel Batch Importer * * @category Laravel Excel * @version 1.0.0 * @package maatwebsite/excel * @copyright Copyright (c) 2013 - 2014 Maatwebsite (http://www.maatwebsite.nl) * @author Maatwebsite <info@maatwebsite.nl> * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL */ class Batch { /** * Excel object * @var Excel */ protected $excel; /** * Batch files * @var array */ public $files = []; /** * Set allowed file extensions * @var array */ protected $allowedFileExtensions = [ 'xls', 'xlsx', 'csv' ]; /** * Start the Batach * @param Excel $excel * @param array $files * @param Closure $callback * @return Excel */ public function start(Excel $excel, $files, Closure $callback) { // Set excel object $this->excel = $excel; // Set files $this->_setFiles($files); // Do the callback if ($callback instanceof Closure) { foreach ($this->getFiles() as $file) { // Load the file $excel = $this->excel->load($file); // Do a callback with the loaded file call_user_func($callback, $excel, $file); } } // Return our excel object return $this->excel; } /** * Get the files * @return array */ public function getFiles() { return $this->files; } /** * Set the batch files * @param array|string $files * @throws LaravelExcelException * @return void */ protected function _setFiles($files) { // If the param is an array, these will be the files for the batch import if (is_array($files)) { $this->files = $this->_getFilesByArray($files); } // Get all the files inside a folder elseif (is_string($files)) { $this->files = $this->_getFilesByFolder($files); } // Check if files were found if (empty($this->files)) throw new LaravelExcelException('[ERROR]: No files were found. Batch terminated.'); } /** * Set files by array * @param array $array * @return array */ protected function _getFilesByArray($array) { $files = []; // Make sure we have real paths foreach ($array as $i => $file) { $files[$i] = realpath($file) ? $file : base_path($file); } return $files; } /** * Get all files inside a folder * @param string $folder * @return array */ protected function _getFilesByFolder($folder) { // Check if it's a real path if (!realpath($folder)) $folder = base_path($folder); // Find path names matching our pattern of excel extensions $glob = glob($folder . '/*.{' . implode(',', $this->allowedFileExtensions) . '}', GLOB_BRACE); // If no matches, return empty array if ($glob === false) return []; // Return files return array_filter($glob, function ($file) { return filetype($file) == 'file'; }); } }