����JFIF��H�H����Exif��MM�*���� ��3����V�����3������3�(��������������������3�����
Server IP : 74.208.127.88 / Your IP : 3.142.166.23 Web Server : Apache/2.4.41 (Ubuntu) System : Linux ubuntu 5.4.0-163-generic #180-Ubuntu SMP Tue Sep 5 13:21:23 UTC 2023 x86_64 User : www-data ( 33) PHP Version : 7.4.3-4ubuntu2.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /proc/self/root/var/www/html/muebles/Classes/PHPExcel/Reader/ |
Upload File : |
<?php /** PHPExcel root directory */ if (!defined('PHPEXCEL_ROOT')) { /** * @ignore */ define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../'); require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); } /** * PHPExcel_Reader_CSV * * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * @category PHPExcel * @package PHPExcel_Reader * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ class PHPExcel_Reader_CSV extends PHPExcel_Reader_Abstract implements PHPExcel_Reader_IReader { /** * Input encoding * * @access private * @var string */ private $inputEncoding = 'UTF-8'; /** * Delimiter * * @access private * @var string */ private $delimiter = ','; /** * Enclosure * * @access private * @var string */ private $enclosure = '"'; /** * Sheet index to read * * @access private * @var int */ private $sheetIndex = 0; /** * Load rows contiguously * * @access private * @var int */ private $contiguous = false; /** * Row counter for loading rows contiguously * * @var int */ private $contiguousRow = -1; /** * Create a new PHPExcel_Reader_CSV */ public function __construct() { $this->readFilter = new PHPExcel_Reader_DefaultReadFilter(); } /** * Validate that the current file is a CSV file * * @return boolean */ protected function isValidFormat() { return true; } /** * Set input encoding * * @param string $pValue Input encoding */ public function setInputEncoding($pValue = 'UTF-8') { $this->inputEncoding = $pValue; return $this; } /** * Get input encoding * * @return string */ public function getInputEncoding() { return $this->inputEncoding; } /** * Move filepointer past any BOM marker * */ protected function skipBOM() { rewind($this->fileHandle); switch ($this->inputEncoding) { case 'UTF-8': fgets($this->fileHandle, 4) == "\xEF\xBB\xBF" ? fseek($this->fileHandle, 3) : fseek($this->fileHandle, 0); break; case 'UTF-16LE': fgets($this->fileHandle, 3) == "\xFF\xFE" ? fseek($this->fileHandle, 2) : fseek($this->fileHandle, 0); break; case 'UTF-16BE': fgets($this->fileHandle, 3) == "\xFE\xFF" ? fseek($this->fileHandle, 2) : fseek($this->fileHandle, 0); break; case 'UTF-32LE': fgets($this->fileHandle, 5) == "\xFF\xFE\x00\x00" ? fseek($this->fileHandle, 4) : fseek($this->fileHandle, 0); break; case 'UTF-32BE': fgets($this->fileHandle, 5) == "\x00\x00\xFE\xFF" ? fseek($this->fileHandle, 4) : fseek($this->fileHandle, 0); break; default: break; } } /** * Identify any separator that is explicitly set in the file * */ protected function checkSeparator() { $line = fgets($this->fileHandle); if ($line === false) { return; } if ((strlen(trim($line, "\r\n")) == 5) && (stripos($line, 'sep=') === 0)) { $this->delimiter = substr($line, 4, 1); return; } return $this->skipBOM(); } /** * Return worksheet info (Name, Last Column Letter, Last Column Index, Total Rows, Total Columns) * * @param string $pFilename * @throws PHPExcel_Reader_Exception */ public function listWorksheetInfo($pFilename) { // Open file $this->openFile($pFilename); if (!$this->isValidFormat()) { fclose($this->fileHandle); throw new PHPExcel_Reader_Exception($pFilename . " is an Invalid Spreadsheet file."); } $fileHandle = $this->fileHandle; // Skip BOM, if any $this->skipBOM(); $this->checkSeparator(); $escapeEnclosures = array( "\\" . $this->enclosure, $this->enclosure . $this->enclosure ); $worksheetInfo = array(); $worksheetInfo[0]['worksheetName'] = 'Worksheet'; $worksheetInfo[0]['lastColumnLetter'] = 'A'; $worksheetInfo[0]['lastColumnIndex'] = 0; $worksheetInfo[0]['totalRows'] = 0; $worksheetInfo[0]['totalColumns'] = 0; // Loop through each line of the file in turn while (($rowData = fgetcsv($fileHandle, 0, $this->delimiter, $this->enclosure)) !== false) { $worksheetInfo[0]['totalRows']++; $worksheetInfo[0]['lastColumnIndex'] = max($worksheetInfo[0]['lastColumnIndex'], count($rowData) - 1); } $worksheetInfo[0]['lastColumnLetter'] = PHPExcel_Cell::stringFromColumnIndex($worksheetInfo[0]['lastColumnIndex']); $worksheetInfo[0]['totalColumns'] = $worksheetInfo[0]['lastColumnIndex'] + 1; // Close file fclose($fileHandle); return $worksheetInfo; } /** * Loads PHPExcel from file * * @param string $pFilename * @return PHPExcel * @throws PHPExcel_Reader_Exception */ public function load($pFilename) { // Create new PHPExcel $objPHPExcel = new PHPExcel(); // Load into this instance return $this->loadIntoExisting($pFilename, $objPHPExcel); } /** * Loads PHPExcel from file into PHPExcel instance * * @param string $pFilename * @param PHPExcel $objPHPExcel * @return PHPExcel * @throws PHPExcel_Reader_Exception */ public function loadIntoExisting($pFilename, PHPExcel $objPHPExcel) { $lineEnding = ini_get('auto_detect_line_endings'); ini_set('auto_detect_line_endings', true); // Open file $this->openFile($pFilename); if (!$this->isValidFormat()) { fclose($this->fileHandle); throw new PHPExcel_Reader_Exception($pFilename . " is an Invalid Spreadsheet file."); } $fileHandle = $this->fileHandle; // Skip BOM, if any $this->skipBOM(); $this->checkSeparator(); // Create new PHPExcel object while ($objPHPExcel->getSheetCount() <= $this->sheetIndex) { $objPHPExcel->createSheet(); } $sheet = $objPHPExcel->setActiveSheetIndex($this->sheetIndex); $escapeEnclosures = array( "\\" . $this->enclosure, $this->enclosure . $this->enclosure ); // Set our starting row based on whether we're in contiguous mode or not $currentRow = 1; if ($this->contiguous) { $currentRow = ($this->contiguousRow == -1) ? $sheet->getHighestRow(): $this->contiguousRow; } // Loop through each line of the file in turn while (($rowData = fgetcsv($fileHandle, 0, $this->delimiter, $this->enclosure)) !== false) { $columnLetter = 'A'; foreach ($rowData as $rowDatum) { if ($rowDatum != '' && $this->readFilter->readCell($columnLetter, $currentRow)) { // Unescape enclosures $rowDatum = str_replace($escapeEnclosures, $this->enclosure, $rowDatum); // Convert encoding if necessary if ($this->inputEncoding !== 'UTF-8') { $rowDatum = PHPExcel_Shared_String::ConvertEncoding($rowDatum, 'UTF-8', $this->inputEncoding); } // Set cell value $sheet->getCell($columnLetter . $currentRow)->setValue($rowDatum); } ++$columnLetter; } ++$currentRow; } // Close file fclose($fileHandle); if ($this->contiguous) { $this->contiguousRow = $currentRow; } ini_set('auto_detect_line_endings', $lineEnding); // Return return $objPHPExcel; } /** * Get delimiter * * @return string */ public function getDelimiter() { return $this->delimiter; } /** * Set delimiter * * @param string $pValue Delimiter, defaults to , * @return PHPExcel_Reader_CSV */ public function setDelimiter($pValue = ',') { $this->delimiter = $pValue; return $this; } /** * Get enclosure * * @return string */ public function getEnclosure() { return $this->enclosure; } /** * Set enclosure * * @param string $pValue Enclosure, defaults to " * @return PHPExcel_Reader_CSV */ public function setEnclosure($pValue = '"') { if ($pValue == '') { $pValue = '"'; } $this->enclosure = $pValue; return $this; } /** * Get sheet index * * @return integer */ public function getSheetIndex() { return $this->sheetIndex; } /** * Set sheet index * * @param integer $pValue Sheet index * @return PHPExcel_Reader_CSV */ public function setSheetIndex($pValue = 0) { $this->sheetIndex = $pValue; return $this; } /** * Set Contiguous * * @param boolean $contiguous */ public function setContiguous($contiguous = false) { $this->contiguous = (bool) $contiguous; if (!$contiguous) { $this->contiguousRow = -1; } return $this; } /** * Get Contiguous * * @return boolean */ public function getContiguous() { return $this->contiguous; } }