diff options
Diffstat (limited to 'engine/lib/filestore.php')
| -rw-r--r-- | engine/lib/filestore.php | 11 | 
1 files changed, 8 insertions, 3 deletions
diff --git a/engine/lib/filestore.php b/engine/lib/filestore.php index 0ade1e906..cecb8d99a 100644 --- a/engine/lib/filestore.php +++ b/engine/lib/filestore.php @@ -164,8 +164,12 @@  				case "append" : $mode = "a+b"; break;  				default: throw new InvalidParameterException(sprintf(elgg_echo('InvalidParameterException:UnrecognisedFileMode'), $mode));  			} -			 -			return fopen($fullname, $mode); +			
 +			if (file_exists($fullname)) { +				return fopen($fullname, $mode);
 +			} else {
 +				return false;
 +			}  		}  		public function write($f, $data) @@ -232,7 +236,8 @@  		 * @param string $dirroot  		 */  		protected function make_directory_root($dirroot) -		{ +		{
 +			if (!file_exists($dirroot))  			if (!@mkdir($dirroot, 0700, true))   				throw new IOException(sprintf(elgg_echo('IOException:CouldNotMake'), $dirroot));  | 
