Androidov .NET - Блог робототехника

Веб технологии

Блог Ковшенина Константина

Архив рубрики «php»

Fedora Linux 10

Недавно купил новый ноутбук, ну и решил рискнуть - не возвращаться к Fedora 9. Знаете, ни капли не пожалел. Установка Fedora 10 прошла очень гладко, такой простоты даже в установки Windows XP и Vista я не наблюдал. Скачал Fedora 10 Live CD с официального сайла проекта Fedora. На ноутбуке была предустановлена Windows Vista Home Basic.

Установка Fedora 10 с Live CD

Сунул диск в привод, перезагрузился, ушел чаю налить. Возвращаюсь, смотрю - рабочий стол Gnome и ярлык на рабочем столе “Install Fedora on hard drive”. Полазил по менюшкам, софта установленного целая куча, особенно утилит всяких разных (поэтому ношу его всегда с собой). Ну и естественно мне скорее захотелось включить Compiz-fusion, но остался с белым экраном (на диск они всё-таки не упаковали драйверы Nvidia), но ничего страшного, по нажатию на Escape вернул всё на свои места.

Затем я запустил мастер установки Fedora 10 - тут открылся интерфейс, чем-то напоминающий установку Fedora 9. Разметил жесткий диск, выбрал загрузочный сектор. Минут через 20 я уже лазал по собственному рабочему столу. Виста после этого тоже грузилась, правда scandisk первый раз запустился.

Сеть встала без моего ведомо, причем Bluetooth и Wi-Fi уже заработали - я подключился к открытой точке доступа и в моём распоряжении уже был мой любимый интернет :)

Самое необходимое

У меня процессор i386. Если у вас x86_64 просто замените везде i386 на x86_64. Итак, открываем терминал, заходим под root, устанавливаем yum репозитории livna, rpmfusion и adobe (для flash plugin):

rpm -Uvh http://mirror.yandex.ru/fedora/tigro/tigro-release-9-1.i386.rpm
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
rpm -Uvh  http://linuxdownload.adobe.com/adobe-release/adobe-release-i386-1.0-1.noarch.rpm

Устанавливаем flash-player плагин, amarok, xine:

yum install flash-plugin amarok xine

Драйверы nvidia (у кого ATI ставим ATI - kmod-fglrx), avant-window-navigator и gconf-editor:

yum install kmod-nvidia avant-window-navigator gconf-editor

Обновляем систему и перезагружаемся:

yum update
reboot

Всё практически готово. Можно теперь спокойно включать desktop effects (Compiz-fusion). Зажимаем Ctrl+Alt, зажимаем левую кнопку мыши и двигаем хаотично! А что вам ещё нужно? Дальше для злостных программистов…

Apache (httpd), php, MySQL

… а так же Subversion, Rapid SVN, NetBeans и Kdevelop

Здесь всё очень просто:

yum install httpd php mysql mysql-server php-mysql
yum install subversion rapid-svn netbeans kdevelop

Кто пользуется NetBeans для PHP то можно скачать SH скрипт для установки NetBeans EA PHP 6.5 с официального сайта NetBeans: netbeans.org.

Устанавливаем службы httpd и mysqld для автозапуска, ну и наконец запускаем их:

chkconfig httpd on
chkconfig mysqld on
service httpd start
service mysqld start

Ну и раз уж у нас блог про веб технологии, установим еще мой любимый SEO инструмент - текстовый браузер Lynx (компания Google именно его и рекоммендует)!

yum install lynx

Вуала! И кто после этого захочет возвращаться в окна?

Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong
  • Отзывов (3)
  • В рубриках : mysql, php, разное
  • NetBeans IDE 6.5 Release Candidate

    NetBeans IDEНаконец-то удалось мне испробовать это новое чудо. Не ну бета она и в африке бета, но если честно, то работает куда лучше чем 6.1. Я говорю конкретно о ветке EA-PHP (Eearly Access for PHP). На Fedora 9 ставил 6.1 - работает стабильно, без сбоев, без глюков и без тормозов. А вот с Win XP мне видимо не повезло - глюки в цветах исходных кодов наблюдались каждые пол часа, приходилось перезагружать редактор, чтобы глаза отдохнули, зависал иногда, глючил… В общем не самые лучшие впечатления.

    В NetBeans 6.5 RC2 появилось куча новых функций. Первое, что я заметил это Web Services во вкладке Service, что позволяет легко и быстро связать ваше приложение с всемирно известными сервисами - Amazon, Delicious, Facebook, Google, Flickr, Twitter и другие.

    В новом выпуске NetBeans так же наблюдается улучшенная работа с базами данных - кроме MySQL введены драйверы PostgreSQL и JDBC/ODBC Bridge.

    Проекты из предыдущей версии редакторы NetBeans так же поддерживаются. Проблем с кодировками не наблюдается, вроде бы работает стабильно на UTF-8 (NetBeans 6.1 и тут иногда мог лохануться). CVS и Subversion по прежнему доступны (если пользуетесь только одним, то второй можно отключить в плагинах, чтобы не надоедал в меню).

    В общем я доволен :) и вам советую…

    Скачать это удовольствие можно бесплатно где-то здесь (напомниаю, что это свободное ПО). Будьте внимательны при выборе версии.

    Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong
  • Отзывов (3)
  • В рубриках : php
  • AJAX авторизация

    AJAX авторизацияПо просьбам читателей приведу самый примитивный пример авторизации с помощью AJAX. Почему примитивный? Потому что, если у вас нет навыков написания хорошего, защищенного скрипта авторизации на php+mysql, то этот пример не для вас. Зацикливаться на самой авторизации я не буду, ведь все мы знаем, что пользователей нужно хранить в базе данных с их зашифрованными паролями и IP адресами последнего входа…? У меня всё гораздо проще - users.txt файл в корне с синтаксисом: “пользователь = пароль” в несколько строк.

    А шифрование и прочие навороты оставляю за вами :)
    (далее…)

    Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong
  • Отзывов (7)
  • В рубриках : ajax, javascript, php
  • Обзор бесплатных PHP редакторов (IDE)

    Ну начнем с самого популярного…

    Notepad++

    Подсветка синтаксиса для языков PHP, HTML, XML, C, C++ и многих других. Лично мне этот редактор не очень нравится… Точнее совсем не нравится. Уж слишком он простой и более 15-ти минут за ним посидеть не удалось. Скачать Notepad++ можно с официального сайта: Notepad++.

    Komodo Edit

    Построен на платформе Mozilla. Поддерживает большой ряд языков и много утилит для работы с веб документами (просмотр DOM, построение регулярных выражений и т.д.). Достаточно удобен в обращении. Скачать Komodo Edit можно с официального сайта: ActiveState.

    Context Editor

    Очель маленький (1,5 мб) редакор. Поддерживает подсветку синтаксиса для PHP и нескольких других языков. Слишком прост. Официальный сайт: Context Editor.

    Eclipse PDT

    Мощный редактор. Работает на платформе Eclipse, дистрибутив около 60 мб. Неплохой вариант, особенно если пишете не только на PHP. Официальный сайт: Eclipse PDT.

    PHP Designer 2007 - Personal

    Отличный вариант, но к сожалению не работает с кодировкой UTF-8. В 2008 версии данного редактора всё налажено, но он уже не бесплатный, даже для личного использования. Официальный сайт: MP Software.

    Ну и наконец мой любимый:

    Netbeans IDE

    А конкретнее Early Access for PHP. Понравился больше всех остальных. Работает на платформе Java. Дистрибутив 20 мб. Подсветка синтаксиса. Мощные утилиты для отладки. Хорошая работа с Subversion и CVS. Официальный сайт: Netbeans IDE.

    Есть ряд других хороших бесплатных редакторов, но ими по-пользоваться не успел, уж слишком их много. Вот небольшой список:

    Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong
  • Отзывов (6)
  • В рубриках : php
  • PHP: Создание ZIP архивов на лету

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

    Класс createZip обеспечивает полноценную работу с формированием нового ZIP архива, с возможностью его выдачи на лету или сохранения на диск. Покажу несколько простых приёмов.

    Ну, во-первый нужно объявить объект данного класса:

    $createZip = new createZip;

    Добавим в корень архива текстовый файл:

    $fileContents = "Hello world!";
    $createZip->addFile($fileContents, "textfile.txt");

    Создадим новую директорию:

    $createZip->addDirectory("images/");

    Ну а теперь допустим у нас есть картинка image.png в директории где выполняется данный скрипт. Загрузим эту картинку в директорию images нашего архива:

    $fileContents = file_get_contents("image.png");
    $createZip->addFile($fileContents, "images/image.png");

    Сохраняем архив на диск и выдаём посетителю ссылку:

    $filename = "archive.zip";
    $fd = fopen($filename, "wb");
    $out = fwrite($fd, $createZip->getZippedfile());
    fclose($fd);
     
    echo "Скачать архив: <a href=\"$filename\">$filename</a>";

    Всё достаточно легко и просто. При желании, можно выдать архив на лету, после чего его сразу удалить. В классе для этого есть вспомогательная функция forceDownload.

    Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong
  • 1 отзыв
  • В рубриках : php
  • Работа PHP специалисту

    Учимся правильно писать заявление о приёме на работу ;)

    <?php
        $profile = new UserProfile();
        $boss = new UserProfile();
     
        $boss->getDefaultSettings(PROFILE_EMPLOYER);
     
        $profile->getDefaultSettings(PROFILE_EMPLOYEE);
        $profile->setSpecialization(SPEC_WEBDEV_PHP);
        $profile->status = STATUS_UNEMPLOYED;
     
        $salary_average = $boss->company->getAverageSalary(SPEC_WEBDEV_PHP);
        $profile->salary_desired = $salary_average + ($salary_average / 100) * 10;
     
        $document = new Document(TEMPLATES_JOB_APPLICATION);
        $document->min_salary = $profile->salary_desired;
        $document->max_salary = $profile->salary_desired + ($profile->salary_desired / 100) * 50;
        $document->job_type = JOBTYPE_FREELANCE;
        $document->hours_per_week = 20;
     
        $result = ($document->sendTo($boss) != DOCUMENT_SEND_FAILED) ? $document->lastSendResult() : false;
     
        if ($result == DOCUMENT_RESULT_ACCEPTED)
        {
            $profile->status = STATUS_FREELANCER;
            $profile->mood = MOOD_HAPPY;
        }
        elseif ($result == DOCUMENT_RESULT_REJECTED)
        {
            $profile->status = STATUS_HOMELESS;
            $profile->mood = MOOD_DEPRESSION;
            $profile->setTimeout(time()+3600, 'die("HUNGRY");');
        }
        else
        {
            $profile->getDefaultSettings(PROFILE_ANONYMOUS);
            $boss->getMoreDetails(PROFILE_DETAILS_ALL);
            $profile->kill($boss);
        }
    ?>
    Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong
  • Отзывов (5)
  • В рубриках : php, разное
  • PHP sendmail и кодировка

    Частенько приходят на е-майл письма с кривыми заголовками. Решение. Как указать кодировку для тела письма думаю никому не секрет, т.к. это достаточно хорошо описано в мануале php:

    $headers .= 'Content-type: text/html; charset=windows-1251' . "\r\n";

    А вот про тему письма ничего не написано. На зарубежном форуме нашел подобное решение:

    $subject = '=?windows-1251?b?'.base64_encode('Тема сообщения').'?=';

    Видимо это стандарт описанный почтовыми протоколами ;)

    Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong
  • Отзывов (2)
  • В рубриках : php
  • Введение в JSON

    Среди форматов обмена данными, AJAX программисты часто выделяют JSON (JavaScript Object Notation, “джейсн”), как альтернатива языку XML, а именно потому, что XML больше язык разметки, чем носитель данных. JSON в свою очередь, легкий, человеко-читабельный, текстовый формат для хранения и передачи простых структурированных данных, а так же более комплексных объектов (массивов). В этом уроке мы рассмотрим простой пример формирования данных в JSON средствами PHP, а так же их получение и представление, с помощью JavaScript. Кто еще не понял, это продолжение серии уроков “AJAX PHP поиск” (XML, Prototype).
    (далее…)

    Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong
  • Оставить отзыв
  • В рубриках : ajax, php
  • AJAX PHP поиск - часть 2: Prototype

    В первой части урока мы рассмотрели организацию поиска по базе данных MySQL средствами AJAX, PHP и XML. Теперь я хочу показать этот же пример, только с использованием библиотеки prototype. Глобальных изменений не произошло, внешне работает абсолютно одинаково. В конце урока попытаемся подвести небольшую сравнительную характеристику двух этих методов.
    (далее…)

    Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong
  • Оставить отзыв
  • В рубриках : ajax, php
  • AJAX PHP поиск - часть 1: XML

    Как создавать простые AJAX запросы к серверному скрипту (PHP) вы уже научились, методами простого XML, а так же с использованием библиотеки prototype. Рассмотрим более комплексный пример - как организовать поиск по базе данных MySQL средствами AJAX и PHP.
    (далее…)

    Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong
  • Оставить отзыв
  • В рубриках : ajax, mysql, php