Функция создания цветовой палитры на PHP #
function colorPalette($imageFile, $numColors, $granularity = 5)
{
$granularity = max(1, abs((int)$granularity));
$colors = array();
$size = @getimagesize($imageFile);
if($size === false)
{
user_error("Unable to get image size data");
return false;
}
$img = @imagecreatefromjpeg($imageFile);
if(!$img)
{
user_error("Unable to open image file");
return false;
}
for($x = 0; $x < $size[0]; $x += $granularity)
{
for($y = 0; $y < $size[1]; $y += $granularity)
{
$thisColor = imagecolorat($img, $x, $y);
$rgb = imagecolorsforindex($img, $thisColor);
$red = round(round(($rgb['red'] / 0x33)) * 0x33);
$green = round(round(($rgb['green'] / 0x33)) * 0x33);
$blue = round(round(($rgb['blue'] / 0x33)) * 0x33);
$thisRGB = sprintf('%02X%02X%02X', $red, $green, $blue);
if(array_key_exists($thisRGB, $colors))
{
$colors[$thisRGB]++;
}
else
{
$colors[$thisRGB] = 1;
}
}
}
arsort($colors);
return array_slice(array_keys($colors), 0, $numColors);
}
?>
// пример использования:
$palette = colorPalette('58.jpg', 10, 5);
echo "
\n";
foreach($palette as $color)
{
echo " | #$color |
\n";
}
echo "
\n";
Обязательно наличие модуля GD
СМОТРЕТЬ ДЕМО
Полезные функции на php #
Функция для обработки текста
function ProcessText($text)
{
$text = trim($text); // удаляем пробелы по бокам
$text = stripslashes($text); // удаляем слэши
$text = htmlspecialchars($text); // переводим HTML в текст
$text = preg_replace("/ +/", " ", $text); // множественные пробелы заменяем на одинарные
$text = preg_replace("/(\r\n){3,}/", "\r\n\r\n", $text); // убираем лишние переводы строк (больше 1 строки)
$test = nl2br ($text); // заменяем переводы строк на тег
$text = preg_replace("/^\"([^\"]+[^=><])\"/u", "$1«$2»", $text); // ставим людские кавычки
$text = preg_replace("/(«){2,}/","«",$text); // убираем лишние левые кавычки (больше 1 кавычки)
$text = preg_replace("/(»){2,}/","»",$text); // убираем лишние правые кавычки (больше 1 кавычки)
$text = preg_replace("/(\r\n){2,}/u", "
", $text); // ставим абзацы
return $text; //возвращаем переменную
}
Функции для работы с файлами
// Извлечение контента файла
function Get($file)
{
return file_get_contents($file);
}
// Сохранение контента в файл
function Save($file, $content)
{
return (file_put_contents($file, stripslashes($content)));
}
Функция для отправки письма
// Входные данные: адрес получателя, адрес отправителя, тема письма, текст письма, имя отправителя
function SendEmail($toEmail, $fromEmail, $subject, $content, $from)
{
// Обработка темы
$subject = "=?utf-8?b?" . base64_encode($subject) . "?=";
// Формирование заголовков
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=utf-8\r\n";
$headers .= "From: =?utf-8?b?" . base64_encode($from) . "?= ";
return (mail($toEmail, $subject, $content, $headers));
}
Фильтруем нулевой байт
$mode = preg_replace('/\0/s', '', $mode);
И еще чуток
$result = stripslashes($result); // удаляем слэши
$result = str_replace('#39;', '', $result); // удаляем одинарные кавычки
$result = str_replace('"', '', $result); // удаляем двойные кавычки
$result = str_replace('&', '', $result); // удаляем амперсанд
$result = preg_replace('/([?!:^~|@№$–=+*&%.,;\[\]<>()_—«»#\/]+)/', '', $result); // удаляем недоспустимые символы
$result = trim($result); // удаляем пробелы по бокам
$result = preg_replace('/ +/', '-', $result); // пробелы заменяем на минусы
$result = preg_replace('/-+/', '-', $result); // удаляем лишние минусы
$result = preg_replace('/([-]*)(.+)([-]*)/', '\\2', $result); // удаляем лишние минусы
Скрипты постраения графиков #
jpgraph
Очень мощная библиотека. оф сайт: http://jpgraph.net/
СКАЧАТЬ | Посмотреть примеры графиков
pChart
ОФ.САЙт / ДЕМО
jqplot
ОФ.САЙТ / Примеры / СКАЧАТЬ
Фап в интерпретатор PHP #
Еще регулярные выражения и парочка полезных функций, честно скопипастеный где-то на просторах интернета:
Яндекс тИЦ
function cy($url){
preg_match("/value=\"(.\d*)\"/", join("", file('http://bar-navig.yandex.ru/u?ver=2&show=32&url=http://'.$url.'/')), $tic);
return($tic[1]!=""?$tic[1]:0); }
Яндекс число страниц в индексе
function ya_stat($url){
$str=file_get_contents("http://yandex.ru/yandsearch?numdoc=10&serverurl={$url}");
preg_match("\/
(.*)нашл(.*)сь(.*)страниц(.*)/s", $str, $find); $res=$find[3];
if(preg_match("/(.*)ничего не найдено(.*)<\/title>/s", $str)) {$res=0;}
$res=str_replace(" ","",$res);
$res=str_replace("млн","000000",$res);
$res=str_replace("тыс.","000",$res);
return $res;}
Веб прокси
echo file_get_contents($_GET['q']);
$content=file_get_contents("http://урл.сайта/имя.скрипта?=".$url);
LiveInternet статистика
function listat($url){
$content = file_get_contents("http://counter.yadro.ru/values?site=".$url);
preg_match_all("|LI_([^ ]+) = (\d*);|",$content,$ok);
for($i=0; $i
return $info;}
$ff=listat($url);
$w_vis=floor($ff[week_vis]/7);
$w_hit=floor($ff[week_hit]/7);//Средняя посещаемость за последнюю неделю
$li_vis=$ff[day_vis];
$li_hit=$ff[day_hit];//И дневная посещаемость
echo "Week $w_vis / $w_hit, today $li_vis / $li_hit";
Информация для счетчика
LiveInternet. Показывается для всех сайтов, которые не закрыли отображение инфы на счетчике (даже если сама статистика закрыта). Удобно как анализировать чужие сайты, так и просматривать суммарную посещаемость своих.