diff --git a/src/TempFile/TempFile.php b/src/TempFile/TempFile.php index c4ef970..b5d47af 100644 --- a/src/TempFile/TempFile.php +++ b/src/TempFile/TempFile.php @@ -1,7 +1,5 @@ filename .= '.' . $options[Options::Extension]; - $this->filename = preg_replace('/[^a-zA-Z0-9.\-_]/', '', $this->filename); + $replaced = preg_replace('/[^a-zA-Z0-9.\-_]/', '', $this->filename); + + if($replaced === false) + { + throw new InvalidArgumentException('The filename contains invalid characters'); + } + + if(is_array($replaced)) + { + $replaced = implode('', $replaced); + } + + $this->filename = $replaced; if(isset($options[Options::Directory])) {