From bf5e5a5ba7408165918eb7d2398680ff245a48bb Mon Sep 17 00:00:00 2001 From: Andreas Gohr <andi@splitbrain.org> Date: Sat, 21 Jan 2006 20:45:39 +0100 Subject: [PATCH] Windows compatible rename #683 darcs-hash:20060121194539-7ad00-c880c0980513a3ccb45253c02e1a02d4cbdd6009.gz --- inc/JpegMeta.php | 2 +- inc/io.php | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) 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 @@ -318,6 +318,24 @@ function io_download($url,$file,$useAttachment=false,$defaultName=''){ return true; } +/** + * 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 * -- GitLab