Multipart parallel upload. Было допилено паблик решение для сервиса S3 от Amazon . Чье, к слову серверная часть реализована с помощью aws-sdk-php, которое не заработало с полпинка на 2 хостах (!). Было принято волевое решение послать к черту не использовать решение от Amazon (как будто бы неймспейсы и последняя версия пыха залог успеха, ха-ха) и написать свое, что и было сделано. Думается сие можно портировать будет на любой хост. Пока что в сравнении с однопоточной загрузкой получаем выигрыш в скорости минимум в 2 раза. Паблик решений нет, кому надо обращайтесь…

Рубрика: Programming, You Tube

Теги: , , ,

Перед тем как произвести с видеофрагментом какие нибудь манипуляции, необходимо совершенно очевидно знать некие исходные параметры этого самого видеофрагмента. Это собственно может быть аспект ратио (AR), длительность, контейнер, аудиокодек, видеокодек. Некая простенькая функция, подкатом, поможет определить эти самые параметры.

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

Рубрика: Programming

Теги: , , , , , , , ,

Был неоднократно пойман и отбагтречен распознан. Вкратце - если не было соединения с БД, данная функция возвратит ничего, ноль, пустоту - даже не false.

Выдержка из мануала:

Функция экранирует специальные символы строки unescaped_string, принимая во внимание кодировку соединения, таким образом, что результат можно безопасно использовать в SQL-запросе в функции mysql_query().

В общем, перед тем как использовать, удостоверьтесь в наличии соединения с БД.

Рубрика: 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); на перебор директории, как это представлено например в справочнике.