<?php
include('./phplot.php');
$csv=file_get_contents('http://liveinternet.ru/stat/woonem.tk/index.csv?id=8;id=6;period=month;graph=csv');
$graph =& new PHPlot(320,240);
$graph->SetTitle("Quantity");
$graph->SetXTitle('X data');
$graph->SetYTitle('Y data');
$data = str_getcsv($csv, ';', "\n");
$graph->SetDataValues($data);
$graph->DrawGraph();
?>
<?php
//ВАРИАНТ 1
$start = microtime(true);
$i1=127; $i2=0; $i3=0; $i4=1; //здесь начало диапазона
$a1=127; $a2=0; $a3=255; $a4=255; //здесь конец диапазона
$o1=$i1; $o2=$i2; $o3=$i3; $o4=$i4;
for( ; ; ){
file_put_contents('./1.iplist', $o1.'.'.$o2.'.'.$o3.'.'.$o4."\n", FILE_APPEND); //здесь запись
$o4++;
if($i3<$a3 or $i2<$a2 or $i1<$a1){
if($o4>255){
$o3++;
if($i2<$a2 or $i1<$a1){
if($o3>255){
$o2++;
if($i1<$a1){
if($o2>255){
$o1++;
if($o1>$a1){
break;
}
$o2=0;
}
}elseif($o2>$a2){
break;
}
$o3=0;
}
}elseif($o3>$a3){
break;
}
$o4=0;
}
}elseif($o4>$a4){
break;
}
}
echo 'Вариант 1: '.(microtime(true) - $start).' сек. '.filesize('./1.iplist')." Байт\n";
//ВАРИАНТ 2
$start = microtime(true);
for ($i=0; $i<=255; $i++) {
for ($e=0; $e<=255; $e++) {
file_put_contents('./2.iplist', '127.0.'.$i.'.'.$e."\n", FILE_APPEND); //здесь запись
}
}
echo 'Вариант 2: '.(microtime(true) - $start).' сек. '.filesize('./2.iplist')." Байт\n";
//ВАРИАНТ 3
$start = microtime(true);
$from=ip2long('127.0.0.1');
$to=ip2long('127.0.255.255');
while($from++<=$to)
file_put_contents('./3.iplist', long2ip($from-1)."\n", FILE_APPEND); //здесь запись
echo 'Вариант 3: '.(microtime(true) - $start).' сек. '.filesize('./3.iplist')." Байт\n";
?>
когда-то я пытался сделать аналог rtmp потоку на shared хостинге. Что не удивительно, если вы посмотрите мои вопросы. И идея была в том, чтоб с помощью php выдавать тот кусок видео, который соответствует текущему времени сервера, а потом JavaScript'ом (или лучше flash) склеивать его
header('Location: https://example.com/script.php?post='.urlencode(json_encode($_POST)));
$_POST=json_decode($_GET[post]);
Алиса - Сервер.
Боб - Клиент.
Сэм - Злоумышленник.
1. Боб запрашивает у Алисы key и keyid.
2. Алиса генерирует случайное число key и записывает в свою базу данных такие значения:
"key"=key, "keyid"=keyid, "expires"=(текущая дата плюс 2 минуты).
3. Алиса отправляет Бобу key и keyid (у Сэма появились key и keyid).
4. Боб отправляет Алисе такие данные:
"login"=login, "encripted_pass"=md5(key||pass||key), "keyid"=keyid (у Сэма появились login, encripted_pass).
5. Алиса достает expires, соответствующий keyid из своей базы данных. Если expires меньше текущей даты, Алиса отправляет Бобу ошибку "Timed out". Иначе, выполняются следующие шаги.
6. Алиса достает pass, соответствующий login и key, соответствующий keyid из своей базы данных. Вычисляет md5(key||pass||key) и сравнивает с encripted_pass. Если вычисления совпали, авторизация пройдена.
7. Алиса, независимо от того, успешна ли авторизация, записывает в строку expires, соответствующую значению keyid, значение "false".
У Сэма есть значения key, keyid, login, encrypted_pass.
Он не может повторно использовать encrypted_pass, так как "expires"="false" в поле, соответствующем keyid в базе данных Алисы.
<IfModule mod_fcgid.c>
AddHandler fcgid-script .html
</IfModule>
<IfModule mod_php5.c>
AddHandler application/x-httpd-php .html
</IfModule>
<?php include('./путь/к/файлу.php'); ?>
<?=$переменная?>
<FilesMatch "avatar.jpg">
Header set Cache-Control "max-age=0"
</FilesMatch>