Архив ‘php’

Вычистить текст от тегов MS Word

Внезапно случается, что когда текст вносится напрямую из Word в WYSWYG-редактор — получается плохо. Чтобы не переделывать руками каждую запись через админку, было принято решение переделать все через консоль. В итоге: <? if(!mysql_connect('host', 'user', 'password')){     die(mysql_error()); } if(!mysql_select_db('db')){     die(mysql_error()); } mysql_query("SET NAMES UTF8"); $tables = array(                 'news'  =>  array(                                 'id'        => 'id',                                 'content'   => 'content_field'                             ),                 'pages' =>  array(                                 'id'        =>  'page_id',                                 'content'   => 'content_field'                 )             ); $mask = array('mso', '\"'); foreach($tables as $table=>$data){          foreach($mask as $mask_value){         echo "Searching ".$mask_value."\n";         $query = "SELECT COUNT(*) FROM ".$table." WHERE ".$data['content']." LIKE '%".$mask_value."%'"; […]

PHP 5.3 и поддержка old passwords в MySQL

Очень любопытно — PHP наконец-то начал насаживать довольно старые стандарты — но почему-то от них не могут отказаться миллионы разработчиков. После обновления PHP и либы mysqlnd один из production-серверов вскрякнул: Warning: mysql_connect() [function.mysql-connect]: Premature end of data (mysqlnd_wireprotocol.c:554) in … Warning: mysql_connect() [function.mysql-connect]: OK packet 1 bytes shorter than expected in … Warning: mysql_connect() [function.mysql-connect]: […]

Вертолетный шум MacBook Pro

MAMP App вконец меня выбесил своей абсолютной некрутостью виртуальных хостов. Вычистил его корни отовсюду, запустил sudo port install apache2 mod_perl2 mod_ssi_func mysql5-server mysql5-client php5 php5-mysql ии кааак пойдет на взлет прошка моя — что прям думал со стола улетит — такой шум поднялся от кулеров — негодует видимо =) В итоге наслаждаюсь нормальным «MAMP» набором […]

Передача параметров по ссылке в PHP

Как-то один свежеперенесённый проект накакал в логи приличное количество сообщений. В них он слёзно молил включить ему allow_call_time_pass_reference — иначе он работать отказывался. Иню-то включили, — но заставило насторожиться — с чего это ссылки начали так ругаться. И вот он и ответ: allow_call_time_pass_reference (boolean) In PHP5, allow_call_time_pass_reference is deprecated, in versions prior to PHP 5.3.0, […]

Опять PHP — скрытая подмена понятий :)

<? print_r($_POST); ?> <form method=»POST»> <input name=»через пробел»> <input type=»submit»> </form> Как вы думаете, что выведет print_r? Array ( [через пробел] => ) ? А вот и нифига! Он выведет Array ( [через_пробел] => ) Вот такая зашитая фича. Для пробелов и точек. Берется отсюда: В файле main/php_variables.c, php_register_variable_ex (92 строка для PHP 5.1.4): /* […]

Кодировка по умолчанию — php много на себя берёт

Весь мозг себе сьел. Перенёс сайт на сервер. На предыдущем хостинге было всё ок — открывался как надо, все дела. На новой же системе — постоянный header UTF-8, хоть ты тресни. Я бы и рад конечно UTF — но HostCMS пока что поддерживает только Win1251 — так что стал копать. Перерыл весь апач — AddDefaultCharset […]

Уязвимость сайтов в интернете

Вчера пошёл вечером в банкомат. Надо было посетить причём два банкомата разных банков — проверить, не пришёл ли аванс, а так же снять денег с личной карточки. В авансовом банкомате наблюдал замечательную вещь — некто шарился по Radmin, настраивая интерфейс банкомата в Windows XP. Да-да. Некоторые банкоматы работают на Windows XP, а интерфейс у них […]

PHP — выбрать все выходные на ближайшие пару лет=)

Понадобилось для одного клиента вывести все выходные на ближайшие пару лет — не спрашивайте даже зачем=) В итоге получилось что-то типа этого: