2013-10-10 13 views

回答

0

如何像這樣(根據你的引擎收錄的代碼,我還沒有完全測試吧):

<?php 
$cachetime=0; // 12 Hours 
$cachefile = 'cache/horoscope.txt'; 
if(!file_exists($cachefile) || filemtime($cachefile) < time() - $cachetime) { 
    $xml = simplexml_load_file("http://www.vytautus.com/hor_rss.xml"); 

    $horoscopes = array(); 
    foreach ($xml->channel->item as $item) { 
     $horoscopes[(string)$item->title] = (string)$item->description; 
    } 
    file_put_contents($cachefile, serialize($horoscopes)); 
} 
$horoscopes = unserialize(file_get_contents($cachefile)); 
?> 

此代碼將rss文件解析爲一個關聯數組,其中星座名稱作爲鍵和描述作爲值。然後將數組序列化並保存到文件中。當文件被讀取時再次反序列化成一個數組。

print_r($horoscopes)輸出會是這樣的:

Array 
(
    [Avinas] => Gali būti nelengva laikytis darbo drausmės bei išsaugoti gerus santykius. Pasistenkite kritiškai pažvelgti į save. Galbūt iš tiesų elgiatės nelabai atsakingai, nesilaikote pažadų, vėluojate pateikti informaciją ar į ją reaguoti? 
    [Tauras] => Ryte venkite nesusipratimų, dviprasmybių. Ne laiku ir ne vietoje atliktas veiksmas ar ištartas žodis gali pakenkti. Būkite atsargesni ir atidesni kontaktuose bei viešose vietose - gresia vagystės, apgaulės. 
    [Dvyniai] => Galimi laikini nesklandumai. Sužinosite apie kažkieno pastangas kai ką pakreipti jūsų nenaudai. Įsivaizduojamas gerbėjas ar susižavėjimo objektas gali jumis manipuliuoti. Pramoginė išvyka pareikalaus nenumatytų išlaidų. 
    [Vėžys] => Šiandien labai svarbu visur jausti saiką ir atsakomybę. Įsigilinkite į situaciją be išankstinių nuostatų, objektyviai. Tai duos daugiau naudos nei skubėjimas šokti pagal kažkieno dūdelę ar momentines ambicijas. Tikėtini trikdžiai kelionėje. 
    [Liūtas] => Jums itin rūpės karjeros bei turto reikalai. Pavojinga pasiduoti staiga kilusiai pagundai, gerai neištyrus situacijos bei perspektyvų. Neignoruokite artimo žmogaus nerimo, perspėjimų. 
    [Mergelė] => Galite sulaukti keistų pasiūlymų, klaidinamos informacijos. Reikėtų atsargiai reaguoti į pasiūlymus daug ir greitai užsidirbti - įmanomos pinklės, apgaulės. 
    [Svarstyklės] => Būsite nervingi, kupini kompleksų ar prietarų. Santykiuose, pokalbiuose stigs nuoširdumo, atvirumo, kiekvienas turės savų paslapčių. Sunkiai skirsite, kas tikra, o kas tėra vien jūsų subjektyvūs išsigalvojimai. 
    [Skorpionas] => Šiandien labiau derinkitės prie aplinkybių, neskubėkite priimti atsakingų sprendimų, ypač susijusių su darbu, verslu, nekilnojamuoju turtu. Gaunama informacija gali būti netiksli, iškraipyta. 
    [Šaulys] => Bus nelengva teisingai pasirinkti, nes peršami, giriami gali būti ne tie dalykai, kurie iš tikrųjų jums būtų naudingi ir perspektyvūs. Galbūt teks ką nors paremti pinigais, padengti nuostolį ar kitaip padėti. 
    [Ožiaragis] => Tikriausiai šiandieną veltui mėginsite kažką pakeisti - susidursite su išsisukinėjimu, demagogija. Reikia ypatingo korektiškumo bendraujant, išsakant savo idėjas bei kritiką kitų atžvilgiu, antraip sulauksite slapto nepalankumo. 
    [Vandenis] => Šiandien gali kilti keistų nesusipratimų. Galbūt naudosite neleistinus būdus siekdami pasipelnyti, o gal aplinkiniams pasirodys, kad jumis neverta pasitikėti dėl kitų priežasčių. Gali atsiskleisti veidmainystė, manipuliavimo faktas. 
    [Žuvys] => Nepasiduokite lengvabūdiškų draugų įtakai, venkite atsitiktinių meilės nuotykių, rizikingų avantiūrų. Neteisingas situacijos įvertinimas neš nuostolius. Atkreipkite dėmesį į savo vaikų išdaigas bei pomėgius. 
) 

然後,你可以迴應是這樣的:

echo $horoscopes['Avinas']; 
echo $horoscopes['Tauras']; 
echo $horoscopes['Dvyniai']; 
... 
+0

我得到這個錯誤:警告:file_get_contents()函數:文件名不能爲空/home/patiekal/domains/dayhoro.lt/public_html/wp-content/themes/dayhoro/index.php on line 13 –

+0

那麼,檢查你的文件名變量,然後,它可能是空的... –

+0

你在說horoscope.txt文件?它位於/cache/horoscope.txt的正確位置,並具有chmod 777權限。 –