1
0
mirror of https://github.com/danog/file.git synced 2024-11-26 11:54:54 +01:00
This commit is contained in:
Daniil Gentili 2019-07-15 16:17:47 +02:00
commit 388199d955

View File

@ -94,9 +94,12 @@ class BlockingDriver implements Driver
}
if (($size = @\filesize($path)) === false) {
return new Failure(new FilesystemException(
\error_get_last()["message"]
));
$message = 'Could not open the file.';
if ($error = \error_get_last()) {
$message .= \sprintf(" Errno: %d; %s", $error["type"], $error["message"]);
}
return new Failure(new FilesystemException($message));
}
\clearstatcache(true, $path);
@ -328,15 +331,21 @@ class BlockingDriver implements Driver
public function chown(string $path, int $uid, int $gid): Promise
{
if ($uid !== -1 && !@\chown($path, $uid)) {
return new Failure(new FilesystemException(
\error_get_last()["message"]
));
$message = 'Could not open the file.';
if ($error = \error_get_last()) {
$message .= \sprintf(" Errno: %d; %s", $error["type"], $error["message"]);
}
return new Failure(new FilesystemException($message));
}
if ($gid !== -1 && !@\chgrp($path, $gid)) {
return new Failure(new FilesystemException(
\error_get_last()["message"]
));
$message = 'Could not open the file.';
if ($error = \error_get_last()) {
$message .= \sprintf(" Errno: %d; %s", $error["type"], $error["message"]);
}
return new Failure(new FilesystemException($message));
}
return new Success;
@ -358,9 +367,14 @@ class BlockingDriver implements Driver
public function get(string $path): Promise
{
$result = @\file_get_contents($path);
return ($result === false)
? new Failure(new FilesystemException(\error_get_last()["message"]))
: new Success($result);
if ($result === false) {
$message = 'Could not open the file.';
if ($error = \error_get_last()) {
$message .= \sprintf(" Errno: %d; %s", $error["type"], $error["message"]);
}
return new Failure(new FilesystemException($message));
}
return new Success($result);
}
/**
@ -369,8 +383,13 @@ class BlockingDriver implements Driver
public function put(string $path, string $contents): Promise
{
$result = @\file_put_contents($path, $contents);
return ($result === false)
? new Failure(new FilesystemException(\error_get_last()["message"]))
: new Success($result);
if ($result === false) {
$message = 'Could not open the file.';
if ($error = \error_get_last()) {
$message .= \sprintf(" Errno: %d; %s", $error["type"], $error["message"]);
}
return new Failure(new FilesystemException($message));
}
return new Success($result);
}
}