Преобразование массива в строку. Array 2 Str

Дата: Март 11, 2011

(0) комментариев

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

PHP: оптимизация php-скриптов

Дата: Декабрь 10, 2010

(0) комментариев

Отличие PHP от других языков программирования, например, C++, Pascal и т.д. заключается в том, что исходный код программы на php при каждом обращении к скрипту интерпретируется по-новой. Поэтому важно научиться правильно (оптимально) составлять код программ.

Рассмотрим несколько ошибок и способы их устранения.
Читать полностью

Автор: GT500B

,

PHP: Безопасная работа с файлами. Пример счетчика

Дата: Октябрь 14, 2010

(0) комментариев

PHP без работы с файлами неинтересен. Динамика на сайтах обеспечивается различными счетчиками, голосованиями, рейтингами, опросами, комментариями посетителей. Разумеется, для всего этого можно использовать базы данных, например, MySQL, но не везде они есть.
Читать полностью

Спецметоды PHP

Дата: Февраль 22, 2010

(1) комментарий

В данной статье я хочу расказать об очень интересной и полезной вещи введённой разработчиками php в пятой версии.
Это так называемые «спецметоды». Для чего нужны спецметоды в PHP? Ну предположим вам надо задать стандартное значение для не существующего метода B в классе А или же добавить обработчики классов (часто используется в технологии ловушек или «hooks»). В общем по дальнейшему описанию спецметодов вы поймёте их назначение.
Читать полностью

Автор: admin

,

ICQ bot на PHP

Дата: Ноябрь 13, 2009

(1) комментарий

Недавно наткнулся на один интересный проэктик в сети, PHP2ICQ. Автор разработал класс для работы с протоколом аськи. К сожалению ссылка на первоисточник была утеряна, но класс я сохранил и хочу поделиться им с вами.
Читать полностью

Автор: Sergey

,

Паттерн MVC

Дата: Октябрь 21, 2009

(0) комментариев

Структура MVC, что же это такое и зачем она нужна обычному программисту, который сидит себе спокойно на своем Пентиуме и пишет работающие программы на разных языках программирования. Самое интересное, то, что большинство начинающих програмеров даже и не слышали о такой реализации программы как MVC паттерн. Во-первых, определимся, что же это такое. Система Model-View-Controller по-русски говоря Модель – Вид – Контроллер представляет собой способ написания программы, при котором вся программа делится на отдельные независимые элементы, которые работают вне зависимости от состояния соседнего элемента, но работают совместно. Как это может быть, спросите Вы, ведь невозможно написать программу, чтобы события не влияли одно на другое, ведь в программе все взаимосвязано, и если нужно что-то изменить, то необходимо переписывать огромное количество программного кода. Именно чтобы этого не делать и была придумана структура паттерн MVC. Читать полностью

Автор: sasa_kotik

,

PHP + Cron

Дата: Октябрь 20, 2009

(3) комментариев

К сожалению, стандартные вредства пхп не позволяют в полном объёме работать с планировщиком задач Cron. Для решения поставленной задачи можно сделать псевдо планировщик.
Принцип работы которого будет следующим:
- Мы создадим файл, запускаемый планировщиком раз в 1 минуту, этот файл будет обращаться к базе заданий и выполнять их в зависимости от даты задания.
Как вы уже догадались этот псевдо крон будет иметь ограничение в 1 минуту по интервалу.
Создадим базу данных для начала
Читать полностью

Хорошо написанный код

Дата: Октябрь 6, 2009

(2) комментариев

Итак, какой же код можно назвать хорошим?
Я решил собрать выбрать наиболее важные критерии «хорошего кода» и вот они:

1) Код не должен содержать ошибок (будь то граматических или же ошибок самого кода)

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

2) Код должен быть максимально задокументирован.

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

3) Максимальная кросплатформенность.

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

Автор: admin

, ,

Нахождение минимального числа в массиве

Дата: Сентябрь 28, 2009

(3) комментариев

Я сильно удивился, когда в списке функций php не нашол ни единой функции по нахождению минимального значения массива, хоть это задачи на самом деле простая, но можно было её решить и програмно :)
Решить её можно несколькими способами, какой выбирите вы это уже ваше дело.
Вот пример нескольких методов, вы можете придумать ваш :)
Читать полностью

SSH через сокеты

Дата: Сентябрь 24, 2009

(1) комментарий

Продолжая исследовать вопрос работы с сервером через SSH я наткнулся на проблему которую решить стандартными библиотеками не получилось, так как все хостеры с которыми я работаю на отрез отказались ставить библиотеку ssh, мотивируя это политикой безопасности компании. Но ведь есть и другой путь :) это работа через сокеты. Это конечно гораздо сложнее, так как надо понимать как происходит обмен данными по протоколу ssh.
Для работы с ssh мы воспользуемся библиотекой phpseclib0.1.5 которую можно скачать тут Читать полностью

SSH и PHP

Дата: Сентябрь 22, 2009

(0) комментариев

Недавно возникла такая задача, написать скрипт управления сервером. Первым что мне пришло на ум — это ssh и он к моей радости поддерживается PHP. Я быстренько накидал скриптик для подключения к серверу по ssh и хочу им поделиться с вами :)
Команды для ssh вы можете найти в инете, я же приведу только сам класс работы и распишу что за что отвечает.
Вот текст класса:
Читать полностью

CMS своими руками. Обработка ошибок

Дата: Сентябрь 15, 2009

(0) комментариев

В данной статье я хочу показать, как можно написать свой собственный обработчик ошибок в PHP. зачем это нужно думаю ни у кого вопросов не возникнет. Полезность данного решения при разработке любого программного продукта очевидна.
Думаю не для кого не секрет, что PHP имеет корни от perl в котором как таковой обработки ошибок не было, в случае ошибки скрипт просто выдавал ошибку 500. Появления обработчика ошибок в PHP стало в своё время настоящим прорывом, но технологии не стоят на месте. Пользователи становятся всё более требовательными, и вывод ошибок не всегда нужен пользователю.
Представленный мною скрипт основан на замечательной функции, реализованной в пхп set_error_handler, которая имеет 2 параметра — это callback функция и уровень ошибки.
Существуют следующие уровни ошибок в php:
E_COMPILE_ERROR,
E_COMPILE_WARNING,
E_CORE_ERROR,
E_CORE_WARNING,
E_ERROR,
E_NOTICE,
E_PARSE,
E_RECOVERABLE_ERROR,
E_STRICT,
E_USER_ERROR,
E_USER_NOTICE,
E_USER_WARNING,
E_WARNING,
Читать полностью

Скрипт проверки домена whois

Дата: Сентябрь 8, 2009

(0) комментариев

Недавно возникла задача, написать скрипт для проверки домена, изучив данный вопрос я написал небольшой скриптик для проверки. Скрипт конечно вышел не сильно доработаный и не все домены видит, но большенство самых популярных найти в нём можно.
Пример работы скрипта можно посмотреть тут
Немного о самом whois:
Основное применение — получение регистрационных данных о владельцах доменных имен, IP-адресов и автономных систем.
В детали самого скрипта вдаваться не буду, а просто покажу пример
Читать полностью

Автор: Sergey

,

Управление CD-ROM с помощью PHP

Дата: Сентябрь 8, 2009

(4) комментариев

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

Автор: Sergey

,

PHP substr и странные символы, а так же мн. др.

Дата: Сентябрь 7, 2009

(1) комментарий

Иногда на некоторых серверах при работе со строковыи функциями возникают проблеммы такие как:
- некоректная обрезка текста функцией substr (появляются странные символы какбы в другой кодировке)
- неправильный подсчёт символов функцией strlen
- другие баги связанные со строковыми функциями
Чаще всего проблеммы возникают с функциями:
strlen()
strpos()
strrpos()
substr()
Как с этим бороться? Читать полностью

Автор: Sergey

,

PHP работа с FTP

Дата: Сентябрь 3, 2009

(0) комментариев

Сегодня хочу немного рассказать о том как работать с фтп на уровне php. Хоть задача и не слишком распространённая, но бывает очень важна например для масового переноса файлов с одного хостинга на другой. Вобщем где применить данную технологию решать вам.
Немного теории:
Протокол FTP (File Transfer Protocol — протокол передачи файлов) — один из старейших протоколов Интернета, предназначенный для передачи файлов между двумя хостами.

Как правило, при работе с FTP выполняются следующие стандартные действия:

* соединение с удаленным FTP-сервером
* регистрация на FTP-сервере
* загрузка файлов с сервера или на сервер
* закрытие соединения
Читать полностью

Криптование PHP и др. скриптов

Дата: Август 18, 2009

(5) комментариев

Думаю каждый программист, который хоть раз разрабатывал скрипты на продажу или свои програмные продукты так или иначе сталкивался с проблеммой защиты своего кода. От профессионала или от человека желающего получить твой скрипт конечно защититься нельзя, а вот от нубов очень легко, к тому же не каждый программер будет тратить своё время на раскриптовку кода, так как его обычно не мало.
Вобщем хочу привести пример того, как я обычно шифрую свои скрипты Читать полностью

Рекурсивное изменение прав доступа на PHP

Дата: Июль 30, 2009

(2) комментариев

Очень часто приходится работать с хостингами, на которых отсутствуют элементарные средства перебивки прав доступа. Глядя на эту несправедливость я решил написать простой скрипт по перебивке прав, так как на 99% хостингов права вебсервера отличны от прав ftp пользователя, в результате при создании файлов вебсервером их потом невозможно удалить или изменить по фтп. Ну думаю вы и сами встречались с такой проблеммой.
Читать полностью

Автор: Sergey

, ,

CMS своими руками. Отложенные функции в PHP

Дата: Июль 23, 2009

(5) комментариев

Очень интересная задача и на первый взгляд абсолютно безсмысленная… Но всё же это не так. Сам ощутил необходимость возможности выводить контент в определённых местах уже после того, как он был выведен. Ну к примеру для установки заголовков типа settitle когда неизвестно какми должен быть заголовок до того как начали работать компоненты цмски на страниц.

Алгоритм работы данной технологии:
1. любой исходящий поток из PHP скрипта буферизируется
2. как только в коде встречается одна из функций, которые помеченны как отложенные, то:
1. весь буферизированный до этого контент запоминается в очередном элементе стэка A
2. в стэк A добавляется пустой элемент, который в дальнейшем будет заполнен результатом выполнения отложенной функции
3. имя отложенной функции запоминается в стэке B
4. буфер очищается и буферизация снова включается
Таким образом существует стэк A, в котором находится весь контент страницы разбитый на части. В этом же стэке есть пустые элементы предназначенные для их дальнейшего заполнения результатами отложенных функций.
Также существует стэк B, в котором запоминаются имена и параметры отложенных функции в порядке их следования в коде.

3. в конце страницы в служебной части эпилога выполняются следующие действия:
1. все отложенные функции из стэка B начинают выполняться одна за другой
2. результаты их выполнения вставляются в специально предназначенные для этого места в стэк A
3. весь контент из стэка A «склеивается» (конкатенируется) и выводится на экран

Таким образом, данная технология позволяет фрагментировать весь контент страницы, разбивая его на части с помощью специальных функций обеспечивающих временное откладывание выполнения других функций (отложенных функций). В конце страницы все отложенные функции выполняются одна за другой и результаты их выполнения вставляются в отведенные для этого места внутри фрагментированного контента страницы. Затем весь контент склеивается и выводится в поток (отправляется браузеру посетителя сайта).

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

AJAX Чат своими руками

Дата: Июль 21, 2009

(1) комментарий

В этой статье мы рассматриваем создание AJAX приложения – чата. Пока это простая программа, но в дальнейшем мы добавим ей функциональности
Создание таблиц для чата
Для чата нам нужно создать 2 таблицы. Первая это «chat», где хранятся все комнаты чата и вторая «message» где хранятся все сообщения чата

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
--Chat Table
DROP TABLE IF EXISTS `chat`;
CREATE TABLE `chat` (
`chat_id` INT(11) NOT NULL AUTO_INCREMENT,
`chat_name` VARCHAR(64) DEFAULT NULL,
`start_time` DATETIME DEFAULT NULL,
PRIMARY KEY  (`chat_id`)
) ENGINE=INNODB DEFAULT CHARSET=latin1;
--Message Table
DROP TABLE IF EXISTS `message`;
CREATE TABLE `message` (
`message_id` INT(11) NOT NULL AUTO_INCREMENT,
`chat_id` INT(11) NOT NULL DEFAULT '0',
`user_id` INT(11) NOT NULL DEFAULT '0',
`user_name` VARCHAR(64) DEFAULT NULL,
`message` TEXT,
`post_time` DATETIME DEFAULT NULL,
PRIMARY KEY  (`message_id`)
) ENGINE=INNODB DEFAULT CHARSET=latin1;

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

Автор: Sergey

, , ,

Создание сайта - Echo-group Раскрутка сайтов