API16

JCacheStorageFile/store

From Joomla! Documentation

< API16:JCacheStorageFile
Revision as of 20:23, 24 March 2017 by JoomlaWikiBot (talk | contribs) (preparing for archive only)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The "API16" namespace is an archived namespace. This page contains information for a Joomla! version which is no longer supported. It exists only as a historical reference, it will not be improved and its content may be incomplete and/or contain broken links.

Description[edit]

Store the data to a file by id and group


<! removed transcluded page call, red link never existed >

Syntax[edit]

store($id, $group, $data)
Parameter Name Default Value Description
$id $id The cache data id
$group $group The cache data group
$data $data The data to store in cache

Returns[edit]

boolean True on success, false otherwise

Defined in[edit]

libraries/joomla/cache/storage/file.php

Importing[edit]

jimport( 'joomla.cache.storage.file' );

Source Body[edit]

function store($id, $group, $data)
{
        $written        = false;
        $path           = $this->_getFilePath($id, $group);
        $expirePath     = $path . '_expire';
        $die            = '<?php die("Access Denied"); ?>'."\n";

        // Prepend a die string

        $data           = $die.$data;

        $fp = @fopen($path, "wb");
        if ($fp) {
                if ($this->_locking) {
                        @flock($fp, LOCK_EX);
                }
                $len = strlen($data);
                @fwrite($fp, $data, $len);
                if ($this->_locking) {
                        @flock($fp, LOCK_UN);
                }
                @fclose($fp);
                $written = true;
        }
        // Data integrity check
        if ($written && ($data == file_get_contents($path))) {
                @file_put_contents($expirePath, ($this->_now + $this->_lifetime));
                return true;
        } else {
                return false;
        }
}


<! removed transcluded page call, red link never existed >

Examples[edit]

Code Examples[edit]