Actions

API16

JCacheStorageFile/store

From Joomla! Documentation

< API16:JCacheStorageFile
Revision as of 21:54, 12 May 2013 by JoomlaWikiBot (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Replacement filing cabinet.png
This Namespace has been archived - Please Do Not Edit or Create Pages in this namespace. Pages contain information for a Joomla! version which is no longer supported. It exists only as a historical reference, will not be improved and its content may be incomplete.

Contents

Description

Store the data to a file by id and group

[<! removed edit link to red link >]

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

Syntax

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

boolean True on success, false otherwise

Defined in

libraries/joomla/cache/storage/file.php

Importing

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

Source Body

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 edit link to red link >] <! removed transcluded page call, red link never existed >

Examples

<CodeExamplesForm />