Как то приводил пример про отправку данных формы с помощью .each. С помощью .serialize это делается изящней, например конструкция:

$(”#formID”).serialize();

содержит набор данных всех полей формы. Главное условие к коду формы:

- наличие аттрибутов id и name в самом теге <form>;

- наличие аттрибутов id и name в полях формы;

- аттрибуты id и name лучше делать уникальными.

Вот так примерно можно отправить данные на сервер:

function sendContactMail(){

var str=’ajax=send_contact_mail&’+$(”#formID”).serialize();

$.post(’backend.php’,str,responseForms,’json’);

}

Делаем правильные обработчики!

Рубрика: Programming

Теги: , ,

Иначе говоря, изображение в котором какой либо цвет составляет основную долю. Примеры - кадры из конца или начала видеоролика. Функция, аргумент которой путь к изображению:

function checkBadImage($img)
{
exec(__IM_PATH.’ ‘.$img.’ -colors 16 -depth 8 -format “%c” histogram:info:| head -n 5′, $res);
if(is_array($res))
{
foreach($res as $str){$s=explode(”:”,$str,2);$pixels[]=trim($s[0]);}
if(strlen($pixels[0]) > strlen($pixels[1])){return false;}
}
return true;
}

,где:

-colors 16, приводит изображение к 16 цветам, что нужно для приведения оттенков преобладающего цвета к одному

-n 5, выводит 5 цветов, можно 2, можно все, неважно, необходимый минимум два.

Если выполнить команду exec, вывод будет примерно таким:

121311 rgb(146,89,80)
121234 rgb(146,89,81)

Первое число - количество пикселей, второе - RGB цвет. Строки отсортированы по убыванию количества пикселей. Таким образом, сравнив две первых строки, приходим к выводу, если числа отличаются на порядок, значит тестируемое изображение имеет преобладающий цвет, проще говоря изображение имеет незначительное количество пикселей других цветов. Функция возвратит false в данном случае.

Рубрика: Programming

Теги: , ,

Довелось как то поковырять сей буржуйский продукт (On2 Flix Engine). В его контексте рассматривалось кодирование видеофайлов с помощью кодека V6 в контейнере flv. Сам по себе простейший пример для кодирования рассмотрен в прилагаемых доках. Под катом некоторое дополнение, которое по дефолту не включено и дорыться до сути удалось через энное количество потраченного времени.

Читать полностью

Рубрика: Programming

Теги: , , ,

Давненько я не брал в руки шахматы шашки. Написать сию заметку сподвигло отсутствие очевидных решений в сети и забавные топики в phpclub в стиле Фанат’а: “читайте faq натанке”. Бытует мнение и оно в принципе верное что использовать SSI и PHP в одном шаблонизаторе (разборщике), есть нонсенс. Однако, существовало (и таки реализовано) ТЗ, в котором одним из требований было совмещение паттернов и инструкций SSI. Оставлю в стороне “законность” такого требования/решения и опишу что в результате получилось. Далее подкатом … Читать полностью

Собственно разрывая исходники, нашел такое:

function rmdir_recursive($dir) {
$files = scandir($dir);
array_shift($files); // remove ‘.’ from array
array_shift($files); // remove ‘..’ from array

foreach ($files as $file) {
$file = $dir . ‘/’ . $file;
if (is_dir($file)) {
rmdir_recursive($file);
if (is_dir($file))
rmdir($file);
} else {
unlink($file);
}
}
rmdir($dir);
}

В чем прелесть этой функции? Дело в том, что PHP не имеет в наборе функцию способную удалить НЕпустой каталог. С помощью вышеприведенной функции вы легко грохните любой каталог с любыми вложенными каталогами и файлами. Работает только для PHP5, для PHP4 поменяйте $files = scandir($dir); на перебор директории, как это представлено например в справочнике.

Как узнать программно где заканчивается редирект? Для чего это может пригодится? Простой пример - партнерская ссылка вида domain.com?id=123456. Куда ведет она и где конечный адрес, редирект может быть не один а несколько. Маленькая, но хитрая функция поможет узнать конечный URL. Читать полностью

Рубрика: Programming

Теги: , , , ,

Любой кто озадачивался проблемой анонимности в сети, так или иначе сталкивался с понятием прокси. Разновидностей прокси или proxy серверов существует довольно много. И достаточно мало сводной информации по типам, видам и способам использования прокси. Подкатом заметка, в которой попытаемся пролить свет на некоторые факты, связанные с использованием прокси. Читать полностью

Каждый кто когда нибудь писал парсер, обработчик базы данных, спамилку или какой-либо скрипт, сталкивался с проблемой принудительного прерывания исполнения программы, если программа была запущена через обычный браузер. Подкатом некоторое решение, которое в явном, законченном виде мне не удалось найти в сети. Читать полностью

Рубрика: Programming

Теги:

Сия заметка адресована людям, занимающимся разработкой программных модулей, админок и прочих программных штукенций со множеством неизвестных. Часто заказчик дает в ТЗ (техническом задании) лишь общие вехи разработки. И собственно программисту приходится самому разрабатывать админ-часть приложения, додумывать детали, архитектуру формы, структуру БД и тому подобное. Так вот существует несколько хитростей, позволяющих ускорить сей процесс.

Читать полностью

В процессе получения данных с помощью AJAX запроса иногда проходит значительное время. К тому же, если передаваемые данные - массив или переменная это один случай, а если содержимое слоя или объемный HTML код, это то случай, когда возможна задержка вывода полученных получаемых данных на странице.

Приведу пример как можно реализовать индикацию процесса.

  • Небольшое отступление: будь то форма загрузки изображений или еще что то, правило хорошего тона гласит - отключайте активные элементы управления, инициирующие AJAX запрос или отправку формы на сервер, так вы исключите повторную отправку данных, путаницу или ошибки в своей БД …

Читать полностью

Рубрика: Programming

Теги: , , ,