aboutsummaryrefslogtreecommitdiff
path: root/engine/lib/filestore.php
diff options
context:
space:
mode:
Diffstat (limited to 'engine/lib/filestore.php')
-rw-r--r--engine/lib/filestore.php11
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));