path = ''; // Initialize parent parent::__construct(); } /** * Get Filename. * * @return string */ public function getFilename() { return basename($this->path); } /** * Get indexed filename (using image index). * * @return string */ public function getIndexedFilename() { $fileName = $this->getFilename(); $fileName = str_replace(' ', '_', $fileName); return str_replace('.' . $this->getExtension(), '', $fileName) . $this->getImageIndex() . '.' . $this->getExtension(); } /** * Get Extension. * * @return string */ public function getExtension() { $exploded = explode('.', basename($this->path)); return $exploded[count($exploded) - 1]; } /** * Get Path. * * @return string */ public function getPath() { return $this->path; } /** * Set Path. * * @param string $pValue File path * @param bool $pVerifyFile Verify file * * @throws \PhpOffice\PhpSpreadsheet\Exception * * @return Drawing */ public function setPath($pValue = '', $pVerifyFile = true) { if ($pVerifyFile) { if (file_exists($pValue)) { $this->path = $pValue; if ($this->width == 0 && $this->height == 0) { // Get width/height list($this->width, $this->height) = getimagesize($pValue); } } else { throw new \PhpOffice\PhpSpreadsheet\Exception("File $pValue not found!"); } } else { $this->path = $pValue; } return $this; } /** * Get hash code. * * @return string Hash code */ public function getHashCode() { return md5( $this->path . parent::getHashCode() . __CLASS__ ); } /** * Implement PHP __clone to create a deep clone, not just a shallow copy. */ public function __clone() { $vars = get_object_vars($this); foreach ($vars as $key => $value) { if (is_object($value)) { $this->$key = clone $value; } else { $this->$key = $value; } } } }