Войти на сайт ( )
[Вход] [Регистрация]
Мобильная связь и Интернет » Интернет-ресурсы » Полезные куски кодов [[deleted]]
[Обновить]
[ Ответить ]
[Добавить в закладки]
Страница: 1, 2, 3 ... 6, 7, 8 ... 18, 19, 20
[deleted] ( off )
( 16:03 11-02-2017 )
% от числа

function percent($intval, $intval2){

$percent = $intval/100;

$result = $intval2/$percent;



return $result;

}



// Использование

echo percent(1000, 340);

[deleted] ( off )
( 16:04 11-02-2017 )
Каптча

<?php

session_start();//стартуем сессии

header("Content-type: image/png");//типа заголовок что тут картинка

$str = '';

for ($i = 0; $i < 5; $i++)

{

$str .= chr(rand(97, 122));

}

$_SESSION['code'] = $str;//это рандомные букафки

$font = $_SERVER['DOCUMENT_ROOT'].'/system/fonts/ft.ttf';//шрифт

$img = imagecreatetruecolor(170, 60);

$black = imagecolorallocate($img, 0, 0, 0);

$color = imagecolorallocate($img, 200, 100, 90);

$white = imagecolorallocate($img, 255, 255, 255);

imagefilledrectangle($img,0,0,399,99,$white);

imagettftext ($img, 30, 0, 10, 40, $color, $font, $_SESSION['code']);

imagepng($img);

?>

[deleted] ( off )
( 16:29 11-02-2017 )
Использование GET параметров

<?php

function get_params() {

$params = array();

if (isset($_GET)) {

foreach ($_GET as $key => $value) {

$params[] = $value;

}

}

return $params;

}



$action = function ($arg1 = null, $arg2 = null) {

var_dump($arg1);

var_dump($arg2);

};



call_user_func_array($action, get_params());

[deleted] ( off )
( 16:53 11-02-2017 )
Реализация, должностей

/* Настройки */

/* ./ini/settings.ini */

[access]

// уровень = "имя уровня"

0 = "Пользователь"

1 = "Модератор"

2 = "Администратор"

/* ./data/access.ini */

[0] // Пользователь

// номер модуля = уровень доступа

0 = 0 // новости

1 = 0 // форум

2 = 0

[1]

0 = 1 // новости

1 = 1 // форум

2 = 1 // чат

[2]

0 = 2 // новости

1 = 2 // форум

2 = 2 // чат

/* Пример использования */

/* Установка */

/* sys.php */

$settings = parse_ini_file('./settings.ini'); // получаем массив с уровнями

$access = parse_ini_file('./access.ini'); // получаем массив с настройками модулей по уровням



$user = array(); // получаем данные пользователя



/* Уровень */

/* profile.php */

print 'Уровень пользователя: ' . $settings['access'][ уровень пользователя ($user['access']) ];



/* Доступ */



if ($access['settings'][ уровень пользователя ][ модуль ]== уровень модуля ($user['access']) ) {



}





З.Ы так же можно легко изменять, добавить любой другой статус и настроить его под себя.

[deleted] ( off )
( 16:54 11-02-2017 )
Почтраничная навигация

Из 4-х частей

<?php

function pagenation($page, $count_pages, $modrew = TRUE) {

/*

$back - ссылка НАЗАД

$forward - ссылка ВПЕРЕД

$startpage - ссылка в НАЧАЛО

$endpage - ссылка в КОНЕЦ

$page2left - вторая страница слева

$page1left - первая страница слева

$page2right - вторая страница справа

$page1right - первая страница справа

*/



$uri = '?';

if (!$modrew) {

/* Если есть параметры в адресной строке */

if ($_SERVER['QUERY_STRING']) {

unset($_GET['page']);

foreach ($_GET as $key => $value) {

$uri .= $key . '=' . $value . '&';

}

}

} else {

$url = $_SERVER['REQUEST_URI'];

$url = explode("?", $url);

if (!empty($url[1])) {

$params = explode("&", $url[1]);

foreach ($params as $param) {

if (!preg_match("#page=#", $param)) {

$uri .= $param .'&';

}

}

}

}

if ($page > 1) {

$back = '<a class="nav-link" href="'.$uri.'page='.($page - 1).'"><</a>';

}

if ($page < $count_pages) {

$forward = '<a class="nav-link" href="'.$uri.'page='.($page + 1).'">></a>';

}
[ред. [deleted] 11-02-2017 в 17:03]

[deleted] ( off )
( 16:58 11-02-2017 )
+
if ($page > 3) {

$startpage = '<a class="nav-link" href="'.$uri.'page=1">«</a>';

}

if ($page < ($count_pages - 2)) {

$endpage = '<a class="nav-link" href="'.$uri.'page='.$count_pages.'">»</a>';

}

if (($page - 2) > 0) {

$page2left = '<a class="nav-link" href="'.$uri.'page='.($page - 2).'">'.($page - 2).'</a>';

}

if (($page - 1) > 0) {

$page1left = '<a class="nav-link" href="'.$uri.'page='.($page - 1).'">'.($page - 1).'</a>';

}

[deleted] ( off )
( 17:01 11-02-2017 )
+
if (($page + 2) <= $count_pages) {

$page2right = '<a class="nav-link" href="'.$uri.'page='.($page + 2).'">'.($page + 2).'</a>';

}

if (($page + 1) <= $count_pages) {

$page1right = '<a class="nav-link" href="'.$uri.'page='.($page + 1).'">'.($page + 1).'</a>';

}

return $startpage . $back . $page2left . $page1left . '<span class="nav-active">' . $page . '</span>' . $page1right . $page2right . $forward . $endpage;

}



Пример использования:

$perpage = 10; // Записей на страницу



$count = mysqli_fetch_row(mysqli_query($db, "SELECT COUNT(*) FROM files"));

$total = $count[0]; // Всего товаров



$count_pages = ceil($total / $perpage); // Всего страниц

if (!$count_pages) { // минимум 1 страница

$count_pages = 1;

}

if (!empty($_GET['page'])) { // текущая страница

$page = abs((int)$_GET['page']);

if (!$page) {

$page = 1;

}

} else {

$page = 1;

}

if ($page > $count_pages) {

$page = $count_pages;

}

$start_pos = ($page - 1) * $perpage;

[deleted] ( off )
( 17:02 11-02-2017 )
+

$pagenation = pagenation($page, $count_pages); // постраничная навигация



echo $pagenation, '<br />'; // Выводим



$query = "SELECT * FROM files ORDER BY id DESC LIMIT $start_pos, $perpage";

$result = mysqli_query($db, $query);

while ($row = mysqli_fetch_array($result)):

?>

<a href="files/<?= $row['path'] ?>"><img src="files/<?= $row['path_mini'] ?>" alt=""/></a><br />

<?php

endwhile;

?>

[deleted] ( off )
( 17:05 11-02-2017 )
Защита от ботов

Две части (соединить)


После того, как Вы создали свой сайт, необходимо его защитить от различных ботов. Боты могут быть самые разные и цели у них могут быть тоже разные (СПАМ, выкачивание сайта и т.д.).
Для начала создайте папку bad_bot в корне сайта. В папке bad_bot создайте четыре файла:

1) black_list.dat - изначально пустой файл, в который будет помещаться информация о ботах, "попавших в ловушку";

2) pixel.gif - прозрачный файл размером в 1 пиксель. Простой человек его не видит, но только не бот. Скачать данный файл Вы можете по ссылке;

3) black_list.php - страничка, со скриптом перейдя на которую бот будет "в ловушке", а вся необходимая информация о боте будет помещена в файл black_list.dat;

4) index.php - скрипт, проверяющий есть ли данный IP в списке ботов. Если есть, то доступ для данного IP блокируется.

[deleted] ( off )
( 17:05 11-02-2017 )
<?php

if(phpversion() >= "4.2.0") {extract($_SERVER);}

$bad_bot = 0;

/* перебираем все записи в файле black_list.dat */

$file_name = "bad_bot/black_list.dat";

$fp = fopen($file_name, "r") or die ("Ошибка файла<br>");

while ($line = fgets($fp, 255)) {

$data = explode(" ", $line);

if (preg_match("/".$data[0]."/", $REMOTE_ADDR)) {$bad_bot++;}

Далее »
« Назад
Страница: 1, 2, 3 ... 6, 7, 8 ... 18, 19, 20
[ Ответить ]
[Обновить]
[Добавить в закладки]
Мобильная связь и Интернет » Интернет-ресурсы » Полезные куски кодов [[deleted]]
На главную
© s.sasisa.me