0

我有这个脚本,但它不起作用,不知道如何修复它,请问有什么提示吗?我从另一端得到的只是字母“t”

谢谢 :)

<?php
$cachefile = './current_t_id';
$time = $id = null; // assume we have no cached quote
$change_every = 3600; // seconds
$pages = array(1 => 'text1-1.php', 2 => 'text1-2.php');

foreach($pages as $pagekey => $page){
    if($pagekey == $siteId){
        include($page);
    }
}

// if cached quote exists, load it
if(is_file($cachefile)) {
    list($time, $id) = explode(' ', file_get_contents($cachefile));
}

// if no cached quote or duration expired, change it
if(!$time || time() - $time > $change_every) {
    srand ((double) microtime() * 100000);
    $id = rand(0,count($page)-1);
    file_put_contents($cachefile, time().' '.$id); // update cache
}

// echo the quote, be it cached or freshly picked 
echo ($page[$id]);
?>
4

1 回答 1

1

好的,我会给你 3 个不同的例子

变量

$quotes = array (
        "hello",
        "baba",
        "luke" 
);


$pages = array(1 => 'text1-1.php', 2 => 'text1-2.php');

A. 使用随机引用

// Using Ramdom Quptes
$key = array_rand ( $quotes );
echo $quotes [$key]; 
//Or
include($pages[$key]) ;

B. 使用罗宾

// Using Robin
$cacheFile = "robin.cache";
$robin = null;
$quotesID = intval ( file_get_contents ( $cacheFile ) );
$totalQuotes = count ( $quotes );

$key = ($quotesID < ($totalQuotes - 1)) ? $quotesID ++ : 1;
file_put_contents ( $cacheFile, $quotesID );

echo $quotes [$key];
//Or
include($pages[$key]) ;

使用定时器

// Using Timer

$cacheFile = "timer.cache";
$expiration = 3600;

$robin = null;
list($quotesID, $time) = explode(' ', file_get_contents($cacheFile));
$totalQuotes = count ( $quotes );

if($time < (time() - $expiration))
{
    $key = mt_rand(0,count($pages)-1);
    file_put_contents($cacheFile, time().' '.$id);
}
echo $quotes [$key];
//Or
include($pages[$key]) ;

我希望你的问题现在可以解决

谢谢 :)

于 2012-04-04T15:24:18.470 回答