You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
1.2 KiB
73 lines
1.2 KiB
<?php |
|
|
|
namespace Maatwebsite\Excel\Files; |
|
|
|
class LocalTemporaryFile extends TemporaryFile |
|
{ |
|
/** |
|
* @var string |
|
*/ |
|
private $filePath; |
|
|
|
/** |
|
* @param string $filePath |
|
*/ |
|
public function __construct(string $filePath) |
|
{ |
|
touch($filePath); |
|
|
|
$this->filePath = realpath($filePath); |
|
} |
|
|
|
/** |
|
* @return string |
|
*/ |
|
public function getLocalPath(): string |
|
{ |
|
return $this->filePath; |
|
} |
|
|
|
/** |
|
* @return bool |
|
*/ |
|
public function exists(): bool |
|
{ |
|
return file_exists($this->filePath); |
|
} |
|
|
|
/** |
|
* @return bool |
|
*/ |
|
public function delete(): bool |
|
{ |
|
if (@unlink($this->filePath) || !$this->exists()) { |
|
return true; |
|
} |
|
|
|
return unlink($this->filePath); |
|
} |
|
|
|
/** |
|
* @return resource |
|
*/ |
|
public function readStream() |
|
{ |
|
return fopen($this->getLocalPath(), 'rb+'); |
|
} |
|
|
|
/** |
|
* @return string |
|
*/ |
|
public function contents(): string |
|
{ |
|
return file_get_contents($this->filePath); |
|
} |
|
|
|
/** |
|
* @param @param string|resource $contents |
|
*/ |
|
public function put($contents) |
|
{ |
|
file_put_contents($this->filePath, $contents); |
|
} |
|
}
|
|
|