Функция создания цветовой палитры на PHP #

Функция создания цветовой палитры на 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);
}
?>
58.jpg


// пример использования:
$palette = colorPalette('58.jpg', 10, 5);
echo "\n";
foreach($palette as $color)
{
   echo "\n";
}
echo "
 #$color
\n";
Обязательно наличие модуля GD

СМОТРЕТЬ ДЕМО

jDownload скрипт интерактивной скачки #

При попытке скачать файл появляется модальное окошко
jDownload скрипт интерактивной скачки

Tested on Safari 4, Firefox 3, IE8, 7 & 6.

САЙТ \/ ДЕМО

bxSlider - слайдер на jQuery #

bxSlider - слайдер на jQuery
Приглянулся мне тем, что в нем достаточно много настроек.

Сайт скрипта там же и примеры| | Скачать

Drifter (Дрифтер) #

Google Maps Plugin for jQuery - gMap #

Google Maps Plugin for jQuery - gMap


Оф. сайт | ДЕМО | СКАЧАТЬ

Полезные функции на php #

Полезные функции на 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); // удаляем лишние минусы