Add wrapper around move_uploaded_file
This commit is contained in:
parent
dbbdf4f230
commit
6adf0ee0a2
@ -679,4 +679,23 @@ final class MD_STD {
|
||||
return $code;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if a directory is writable.
|
||||
*
|
||||
* @param string $dir Directory path.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function check_is_writable(string $dir):void {
|
||||
|
||||
if (is_dir($dir) === false) {
|
||||
throw new MDFileDoesNotExist("Directory " . $dir . " does not exist");
|
||||
}
|
||||
|
||||
if (is_writable($dir) === false) {
|
||||
throw new MDFileIsNotWritable("Directory " . $dir . " is not writable");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -317,4 +317,25 @@ final class MD_STD_IN {
|
||||
return $input;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Wrapper around move_uploaded_file that throws errors in case the upload failed
|
||||
* for an identifiable reason.
|
||||
*
|
||||
* @param string $filename Name of the file to upload.
|
||||
* @param string $destination Destination to move the file to.
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public static function move_uploaded_file(string $filename, string $destination):bool {
|
||||
|
||||
MD_STD::check_is_writable(dirname($destination));
|
||||
|
||||
if (!(\move_uploaded_file($filename, $destination))) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user