]> granicus.if.org Git - php/commitdiff
make cache (get/set) binary safe
authorChristian Dickmann <dickmann@php.net>
Mon, 11 Nov 2002 01:23:24 +0000 (01:23 +0000)
committerChristian Dickmann <dickmann@php.net>
Mon, 11 Nov 2002 01:23:24 +0000 (01:23 +0000)
pear/PEAR/Remote.php

index 5662e9de0126263a24cf8fb4babd8c41dc4e0670..0d1a11556c33b0e59a8b5a599160a88382add52f 100644 (file)
@@ -62,10 +62,17 @@ class PEAR_Remote extends PEAR
         if (!file_exists($filename)) {
             return null;
         };
+               
+        $fp = fopen($filename, "rb");
+        if ($fp === null) {
+            return null;
+        }
+        $content  = fread($fp, filesize($filename));
+        fclose($fp);
         $result   = array(
             'age'        => time() - filemtime($filename),
             'lastChange' => filemtime($filename),
-            'content'    => unserialize(implode('', file($filename))),
+            'content'    => unserialize($content),
             );
         return $result;
     }
@@ -83,7 +90,7 @@ class PEAR_Remote extends PEAR
         }
         $filename = $cachedir.'/xmlrpc_cache_'.$id;
         
-        $fp = @fopen($filename, "w");
+        $fp = @fopen($filename, "wb");
         if ($fp !== null) {
             fwrite($fp, serialize($data));
             fclose($fp);