32 заметки с тегом

php РСС

Ctrl +  Позднее

13 декабря 2009, 14:03

Утилит полезных пост 2

Сегодня речь пойдёт о утилитах для Мускула (MySQL).
Первая это php-утилита Sypex Dumper универсальный дампер БД (сделан нашими ребятами)
  • можно просто и быстро создать резервную копию (бэкап, дамп)
  • работает очень быстро с огромными БД
  • есть куча фич (свой cmd, cron)
Вторая — javascript-утилита WWW SQL Designer — для создания структуры БД, установки связи между таблицами и всё это в удобном GUI
  • очень простая и удобная
  • установка — просто залил на сервер
  • сохранение/загрузка результатов
  • експорт в SQL и XML
  • в демке всё круто видно %)

11 декабря 2009, 13:13

Утилит полезных пост

Первая это php-утилита Admiter
  • php MySQL Admin одним файлом, всегда мечтал ;)
  • умеет всё что нужно, но не такой мощный как PhpMyAdmin
Вторая это javascript-утилита DD_roundies
  • она от автора супер PNG-fix для ИЕ6
  • css-selectors для выбора применяемых элементов
  • работает очень быстро и просто, одни бонусы :)
  • умеет за одно делать прозрачными png-рисунки

26 ноября 2009, 23:59

Сколько баблишка?

Валюта в международном формате Возможные вариации Результат
RUR рублей, руб., RUR, RUB, rubles, р. рублей
UAH гривен, гр. UAH, грн., гривен
EUR евро, евр., просто значок € перед или после цены, EUR, Euro, Evro (обрабатываем опечатки) евро
USD значок $, USD, долларов, у.е., зелёных :), dollar*, долар (опечатки) долларов США
<?php
/*************************************************************
* Функция определения валюты из строк вида "1000 рублей", "10 USD" и т. п.
* На входе строка, на выходе код валюты (RUR, USD, UAH, EUR)
* или false, если не удалось определить. 
* Также false выйдет если определилось несколько валют в строке.
* Автор функции - BrokenBrake.biz
*************************************************************/
function currencer($str)
{
	$pattern['RUR'] = "/[^гГuU][рРRr][Уу\.uU]/u";
	$pattern['USD'] = "/\\\$|[UuдД][sSnNоО]|[уУ][\.\s]*[еЕ]|[зЗ][еЕ]|[бБ][аА][кК][сС]/u";
	$pattern['EUR'] = "/€|[eEЕе][UuВвvV]/u";
	$pattern['UAH'] = "/[гГUu][AaрР]/u";
	
	foreach ($pattern as $key => $val)
	{
		if (preg_match($val, $str)) $currency[] = $key;
	}
	if (isset($currency[1]) OR !isset($currency[0]))return false;
	else return $currency[0];
} // echo currencer('1000 зелёных')
?>


8 сентября 2009, 2:12

PHP: get google.PR end yandex.QI (тИЦ) Избранное

Стало интересно, как всякие сервисы определяют ПР и тИЦ. Тогда как с Яндексом всё предельно ясно, то для Гугла нужны не кислые танцы с бубном.

Из просмотренных мною алгоритмов для гугла, я пришёл к выводу, что большинство выдраны с виндового гугл-тулбара, и работаю с периодическим успехом на разных системах и платформах. Попытки сделать этот алгоритм универсальным не увенчались успехом, но был найден другой, отличный от всех способ, который работает везде на 100%! Дальше по-порядку:

Яндекс:
  • урл должен быть полный с хттп
  • берем иксымель с яндексбара http://bar-navig.yandex.ru/
  • получаем тИЦ
Гугль:
  • урл не важно, но лучше с хттп (вероятность бана айпи меньше)
  • вычисляем Хеш урла (алгоритм XTEA)
  • вычисляем ЧекСум урла
  • отправлям всё через сокеты, притворясь браузером на один, из многих, айпи гугла
  • нам нужны только первые 30 байт
  • ищем строчку типа «Rank_1:1:Х», где Х наш ПР
  • получаем ПР


4 сентября 2009, 15:10

PHP: Как открыть большой xml(файл) для работы с php

Считать fread может небольшой файл, и зная это ограничение, мы читаем файл по 8к, пока не кончится. Дальше перекодируем и конвертируем в массив, и сразу начинаем работать ;)
$handle = fopen("http://site.com/export.xml", "rb");
$contents = '';

while (!feof($handle)) $contents .= fread($handle, 8192);

fclose($handle);
$contents = xml2array(utf8_to_cp1251($contents));

// незабываем делать unset($contents, $handle)

4 сентября 2009, 15:01

PHP: utf8 to cp1251

Используя коды наших символов в утф8 и цп1251, находим последовательность операций для их превращения, и в итоге мы получаем небольшую функцию
function utf8_to_cp1251($s){
    for ($c=0;$c<strlen($s);$c++){
       $i=ord($s[$c]);
       if ($i<=127) $out.=$s[$c];
           if ($byte2){
               $new_c2=($c1&3)*64+($i&63);
               $new_c1=($c1>>2)&5;
               $new_i=$new_c1*256+$new_c2;
           if ($new_i==1025){
               $out_i=168;
           } else {
               if ($new_i==1105){
                   $out_i=184;
               } else {
                   $out_i=$new_i-848;
               }
           }
           $out.=chr($out_i);
           $byte2=false;
           }
       if (($i>>5)==6) {
           $c1=$i;
           $byte2=true;
       }
    }
    return $out;
}

4 сентября 2009, 14:57

PHP: xml to array

Вкратце, по прегмачалл, с помощью регекспа, разбиваем тело на массив тегов, дальше этот массив превращаем в нужный нам, со всеми вложенностями.
function xml2array($xml) {
        $xmlary = array();
               
        $reels = '/<(\w+)\s*([^\/>]*)\s*(?:\/>|>(.*)<\/\s*\\1\s*>)/s';
        $reattrs = '/(\w+)=(?:"|\')([^"\']*)(:?"|\')/';

        preg_match_all($reels, $xml, $elements);

        foreach ($elements[1] as $ie => $xx) {

                $xmlary[$ie]["name"] = $elements[1][$ie];
               
                if ($attributes = trim($elements[2][$ie])) {
                        preg_match_all($reattrs, $attributes, $att);
                        foreach ($att[1] as $ia => $xx)

                                $xmlary[$ie]["attributes"][$att[1][$ia]] = $att[2][$ia];
                }

                $cdend = strpos($elements[3][$ie], "<");
                if ($cdend > 0) {

                        $xmlary[$ie]["text"] = substr($elements[3][$ie], 0, $cdend - 1);
                }

                if (preg_match($reels, $elements[3][$ie]))

                        $xmlary[$ie]["elements"] = xml2array($elements[3][$ie]);
                else if ($elements[3][$ie]) {

                        $xmlary[$ie]["text"] = $elements[3][$ie];
                }
        }

        return $xmlary;

}

27 августа 2009, 8:16

PHP: BBcode to HTML

Даже объяснять нечего ;)
function bb2html($text){
  $bbcode = array("<", ">",
                "[LIST]", "[*]", "[/LIST]", 
                "[IMG]", "[/IMG]", 
                "[B]", "[/B]", 
                "[U]", "[/U]", 
                "[I]", "[/I]",
                '[COLOR=', "[/COLOR]",
                "[SIZE=", "[/SIZE]",
                '[URL=', "[/URL]",
                "[MAIL=", "[/MAIL]",
                "[CODE]", "[/CODE]",
                "[QUOTE]", "[/QUOTE]",
                "[FONT=", "[/FONT]",
                ']');
  $htmlcode = array("<", ">",
                "<ul>", "<li>", "</ul>", 
                "<img src=\"", "\">", 
                "<b>", "</b>", 
                "<u>", "</u>", 
                "<i>", "</i>",
                "<span style=\"color:", "</span>",
                "<span style=\"font-size:", "</span>",
                '<a href="', "</a>",
                "<a href=\"mailto:", "</a>",
                "<code>", "</code>",
                "<bloquote>", "</bloquote>",
                "<span style=\"font-family:", "</span >",
                '">');
  $newtext = str_replace($bbcode, $htmlcode, $text);
  $newtext = nl2br($newtext);
  return $newtext;

}
php

18 июня 2009, 14:40

Как вывести все переменные пхп (php)

<pre>
 <?php  print_R(get_defined_vars())?>
</pre>

16 мая 2009, 15:17

PHP File Manager Избранное

Иногда, после того, как скрипт на сервере создаст какой-то файл, или распакует архив, мы не можем получить доступ по фтп к этому же файлу, а нам нужно срочно его обновить! Да ещё нету доступа к си-панели, или любой другой панели хостинга.

На помощь приходит любой PHPFileManager. Если поискать через google, то их можно найти очень-очень много, но многие из них убоги по функционалу, а другие уж очень громоздкие.

Меня интересовали только три критерия:
  • функциональность
  • Доступ к командной строке, средствами php
  • весь менеджер в одном файле
После хорошо десятка менеджеров, выбор пал на скрипт с таким же названием PHPFileManager %) Тем более он free!!

Работать с ним легко и просто, скачиваете архив, один его файлик замысловато переименовываете и бросаете где-то на хостинг по фтп ;) а дальше карты в руки!



ЗЫ: простой хинт, что бы изменить права на все файлы и папки в каталоге, используйте для chmod флаг -R, например
 chmod -R 777 templates/* 
php

20 апреля 2009, 21:35

Сколько лет/год/года, возраст то какой? :)

function letkov($vozrast) {
	if ($vozrast > 9) $vozrast = substr($vozrast,-2);
	$tmp = substr($vozrast,-1);
	if ($vozrast > 10 & $vozrast < 15) return "лет";
	if($tmp == 1) return "год";
	if($tmp > 1 & $tmp < 5) return "года";
	return "лет";

}

upd 24.05.09 thx 2 Александр Улизько

26 мая 2008, 15:17

Книги по програмингу (старенькие, запыленные)

Книги по MySQL
Структуризированный язык запросов (SQL)
Системы обработки информации — язык баз данных SQL
MySQL и mSQL
Введение в SQL
Введение в реляционные базы данныx
ОСНОВЫ ПРОЕКТИРОВАНИЯ РЕЛЯЦИОННЫХ БАЗ ДАННЫХ
Версия пакета MySQL : 3.20.29
Мартин Грубер: Понимание SQL
Книги по CGI
CGI Developer’s Guide
CGI Programming Unleashed
CGI reference
CGI — Общий Интерфейс Шлюзов
Oписание CGI
CGI.pm — a Perl5 CGI Library
Книги по HTML
HTML учёбник
Изучение HTML 3.2 на примерах
HTML-справочник
Практическое руководство по HTML
Словарь тагов
Руководство по стилям для создания online гипертекста 
Clean up your Web pages with HTML TIDY
Книги по CSS
WebClub | Спецификация CSS1
Рекомендация W3C | Спецификация CSS2
Книги по JS
Центром Информационных Технологий: JavaScript
Практическое введение в программирование на JavaScript
ВВЕДЕНИЕ В JAVASCRIPT
JavaScript Bible 4th Edition
JS object model
Руководство по JavaScript
JavaScript: Краткое введение и справочникПримеры!
Книги по PHP
PHP 4
Учебник РНР
Руководство по PHP
PHPMySQL Programming
about php rus
cgi   css   css2   html   javascript   mysql   php