API16

JCacheStorageFile/store: Difference between revisions

From Joomla! Documentation

m clean up
m preparing for archive only
 
Line 76: Line 76:


===Examples===
===Examples===
<CodeExamplesForm />
=== Code Examples ===
<dpl>
<dpl>
  noresultsheader=\n
  noresultsheader=\n
  category=store
  category=store
  category=JCacheStorageFile
  category=JCacheStorageFile
  category=CodeExample
  namespace=CodeExample
  category=MethodExample
  category=MethodExample
  include=*
  include=*

Latest revision as of 01:23, 25 March 2017

Description

Store the data to a file by id and group


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

Examples

Code Examples