我有这段代码
<?php
/**
* Модуль, направляющий ссылки на платники handycash.biz
* Для работы скрипта, необходимо выставить права 777 на файлы autodomainlock_hc.txt и hc_target_link_config.php
* ссылаться на файл нужно следующим образом. Пример:
* http://yoursite.com/hc_target_link.php?r=YYYY&q=XXXX&id=ZZZZ&t=CCCC
* где
* ?r - поток траффика,
* &q - поисковый запрос
* &id - id платника
* &t - параметр включения ТДС. если не нужен - не передавать.
*/
class HcTargetLink
{
// время обновления доменов, сек
public $configUpdateTime = 600;
// имя файла конфига
public $configFile = 'hc_target_link_config.php';
// адрес API актуальных доменов
public $apiUrl = 'http://handycash.biz/api/api.txt';
public $lockFile = 'autodomainlock_hc.txt';
// проверка конфига для обновления
public function checkConfig() {
if (!file_exists($this->lockFile) || intval(file_get_contents($this->lockFile)) < time() - $this->configUpdateTime) {
file_put_contents($this->lockFile, time());
$curl = curl_init($this->apiUrl);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($curl);
if (!curl_errno($curl) && $data !== false) {
$data = unserialize($data);
if (is_array($data)) {
file_put_contents($this->configFile, serialize($data));
}
}
curl_close($curl);
}
}
public function check_get($get){
$allowed = array(
't' => array('wmid', 'q', 'id', 'r'),
's' => array('id', 'q', 'r')
);
$type = '';
if(array_search('wmid', $get))
$type = 't';
else
$type = 's';
foreach($allowed[$type] as $param){
if (!array_search($param, $get)) {
header('Location: http://natribu.org');
}
}
}
// запуск работы модуля
public function run() {
$this->check_get($_GET);
$this->checkConfig();
$config = unserialize(file_get_contents($this->configFile));
$domain = '';
if(isset($_GET['t'])){
$domain = $config['tds'];
} elseif(isset($_GET['wmid'])) {
$id = $_GET['id'];
if ($id = array_search($id, $config['0'])) {
$domain = $config['0'][$id];
}
} elseif(empty($domain)) {
$domain = $config['0'][array_rand($config['0'])];
}
$params = $_GET;
unset($params['id']);
unset($params['t']);
$url = 'http://' . $domain . '/?' . http_build_query($params);
header('Location: ' . $url);
exit;
}
}
$HcTargetLink = new HcTargetLink();
$HcTargetLink->run();
运行脚本后,我有错误 - Method 'run' not found in class HcTargetLink
。错了什么?
答案 0 :(得分:1)
因为您忘记使用}
public function run() {
//do something
}
答案 1 :(得分:1)
您错过了}
paranthesis。试试这个,
public function run() {
//do something
}