diff options
-rw-r--r-- | inc/JpegMeta.php | 2 | ||||
-rw-r--r-- | inc/io.php | 18 |
2 files changed, 19 insertions, 1 deletions
diff --git a/inc/JpegMeta.php b/inc/JpegMeta.php index af7d27f96..eb9ab8627 100644 --- a/inc/JpegMeta.php +++ b/inc/JpegMeta.php @@ -841,7 +841,7 @@ class JpegMeta $tmpName = tempnam(dirname($this->_fileName),'_metatemp_'); $this->_writeJPEG($tmpName); if (@file_exists($tmpName)) { - return rename($tmpName, $this->_fileName); + return io_rename($tmpName, $this->_fileName); } } else { return $this->_writeJPEG($fileName); diff --git a/inc/io.php b/inc/io.php index ff318bd67..9c02e87c6 100644 --- a/inc/io.php +++ b/inc/io.php @@ -319,6 +319,24 @@ function io_download($url,$file,$useAttachment=false,$defaultName=''){ } /** + * Windows copatible rename + * + * rename() can not overwrite existing files on Windows + * this function will use copy/unlink instead + */ +function io_rename($from,$to){ + if(!@rename($from,$to)){ + if(@copy($from,$to)){ + @unlink($from); + return true; + } + return false; + } + return true; +} + + +/** * Runs an external command and returns it's output as string * * @author Harry Brueckner <harry_b@eml.cc> |