Cookie является решением одной из наследственных проблем HTTP
спецификации. Эта проблема заключается в непостоянстве соединения между
клиентом и сервером, как при FTP или Telnet сессии, т.е. для каждого
документа (или файла) при передаче по HTTP протоколу посылается
отдельный запрос. Включение cookie в HTTP протокол дало частичное
решение этой проблемы.
Cookie это небольшая порция информации, которую сервер передает
клиенту. Клиент (броузер) будет хранить эту информацию и передавать ее
серверу с каждым запросом как часть HTTP заголовка. Некоторые cookie
хранятся только в течение одной сессии, они удаляются после закрытия
броузера. Другие, установленные на некоторый период времени,
записываются в файл. Обычно этот файл называется 'cookie.txt'.
Что можно делать с помощью cookie?
Сами по себе cookies не могут делать ничего, это только лишь
некоторая информация. Однако, сервер может использовать содержащуюся в
cookies информацию. Наприм
... Читать дальше »
Как я уже говорил, браузер клиента можно кормить булками (cookies).
Рассказав общее устройство cookies, расскажу о том, как это реализуется
на конкретном примере, а именно в языке PHP. Рассказ о cookies в perl,
возможно, давал бы больше информации о технической стороне установки
cookie (в perl заголовки сообщений http надо писать руками), но зато в
PHP это удобнее реализовано.
В PHP одна и та же функция setcookie отвечает за создание,
изменение и удаление cookies. Рассмотрим простейший пример - установка
на компьютере пользователя булки с информацией о том, был он на этой
странице или нет. Это делается так:
setcookie ("visted","true");
После этого у вас на диске появляется c cookie с информацией о том,
что эту страницу вы уже посещали. Как долго будет действовать cookie?
Поскольку мы использовали только два параметра, а другие нужные
параметры оставили без внимания, в них установились стандартные
значения: действует до закрытия всех окошек браузер
... Читать дальше »
Итак, нам нужно засечь время, потраченное на выполнение SQL запросов
? Это не очень легко, но и не сложно. Начнем с определения задачи.
Необходимо выдать полное время, затраченное на генерацию страницы и
время, затраченное на выполнения SQL запросов, еще было бы здорово
вывести процент от общего времени.
Сначала напишем функцию, которая выдает время, затраченное на выполнение своего кода:
function do_something(){ $mtime = microtime(); $mtime = explode(" ",$mtime); $mtime = $mtime[1] + $mtime[0]; $tstart = $mtime; //here is the code to execute //.........
Решил просмотреть все, что писал про php и составить этот FAQ. Далее — список самых часто задаваемых вопросов мне про PHP.
Q. Что такое PHP?
A. Бесплатный скриптовый язык программирования, «заточенный» под Веб, выполняемый на стороне сервера и часто вставляемый прямо в html-код. Например:
Дважды два равно <b> echo (2*2); ?></b>
Будет выводится вот так: Дважды два равно 4
Официальный сайт языка — php.net. Оттуда можно бесплатно скачать его, документацию и вообще все, что может понадобиться.
Q. Легко ли научиться программировать на PHP?
A. Легко. Если вы уже умеете программировать. Синтаксис у PHP
простой, функции понятные, документация великолепная. Читайте
документацию и у вас все получится. Если вы не умеете программировать,
то вам надо ставить вопрос по-другому: «Легко&nbs
... Читать дальше »
В этой статье я расскажу о том, как засечь время выполнения вашего кода
Наверняка вы уже где-нибудь видели маленькую надпись внизу страницы, что-нибудь типа:
Page generated in 0.325261 seconds
Вот тоже самое можно сделать с помощью всего трех функций:
1) Функция
string microtime(void)
возвращает строку типа "msec sec", где msec - количество
миллисекунд и sec - текущее время в секундах с начала эпохи UNIX
(0:00:00 January 1, 1970 GMT). Эта функция работает только в
операционных системах, поддерживающих системный вызов gettimeofday().
2) Функция
array explode(string separator, string string [, int limit])
Делит строку string в соответствии с разделителем separator и
записывает все части (или не все, если указано количество частей limit)
в массив, который функция выдает в качестве результата.
3) Функция
void printf (string format [, mixed args])
Эта функция полностью аналогична своей C
... Читать дальше »
(подсчет размера файлов в директории и в поддиректориях)
Введение
Предположим что вам нужно подсчитать размер всех файлов начиная с
текущей директории, получить их число и количество вложенный
поддиректорий. Подобные задачи решаться применением рекурсии - то есть
обращения из функции к самой себе.
Решение задачи
Благодаря способности PHP выполнять рекурсивные запросы к функциям
(а также к методам классов) стало возможным решить платформо -
независимую задачу подсчета размера файлов в директориях.
Приведем пример класса на php решающего задачу подсчета размера всех файлов вложенный в директорию и в поддиректории:
Текст программы
class calc_dir { var $a_fname=array(); var $a_fsize=array(); var $a_fdir =array(); var $cofiles;
Интернет уже давно прочно вошел в нашу жизнь. Это смелое утверждение
можно доказывать или опровергать много раз, но так или иначе все
меняется, а с этим спорить никто не будет.
Прошли те времена, когда многие пользователи персональных
компьютеров в целях экономии дискового пространства удаляли программу
"Интернет Эксплорер" из всеми нами обожаемой операционной системы, так
как просто не нуждались в ней. Теперь даже те, у кого нет доступа к
Паутине, стараются не трогать эту программу, так как форматы сети
Интернет давно уже перешли в другие сферы нашей компьютерной жизни. А
уж если в компьютере поселился модем, избежать наличия браузера просто
невозможно, так как очень хочется хоть одним глазком посмотреть, а что
же там, за гранью телефонной линии? И когда знакомство состоялось,
отказаться от преимуществ сети уже не так-то просто. Через некоторое
время начинаешь осознавать, что надо как-то вложить себя и свои идеи и
проявиться на бескрайних просторах Глобальной сети. Сделать с
... Читать дальше »
В свое время перед любым вебмастером встают вопросы такого типа:
"как сохранить информацию на сервере", "как отправить результаты
заполнения формы на емэйл".
Сразу скажу, что сделать это невозможно только средствами браузера.
Для реализации подобных вещей существует множество специальных языков.
Самой большой популярностью пользуются perl и PHP. В чем их сходство и
различие?
Часто путают понятие CGI и perl. CGI (Common Gateway Interface) -
протокол обмена данными с программами. А perl - специальный язык
высокого уровня, на котором и реализуются необходимые фукции
взаимодействия с операционной системой на сервере. В общем случае с
помощью CGI можно запустить любое приложение на сервере и все, что
будет из него (приложения) выведено на стандартный поток вывода,
попадет в браузер. Параллельно приложение может произвести вывод данных
в файл на сервере, послать на емэйл или поместить (извлечь) что-то в
базу данных.
Коренное отличие PHP от CGI заключается в том, что P
... Читать дальше »
Не так давно появилась необходимость написать более или менее
универсальный поиск в MySQL. По нескольким, точнее сказать, скольким
угодно, ключевым словам поиска. Сразу же оговорюсь, что под словами
"сколько угодно” подразумеваю возможность самому определять максимально
допустимое количество ключевых слов, а не легкомысленный авось, что
никто не попытается записать в строку поиска большое количество
ключевых слов, чтоб тем самым вызвать пиковую нагрузку.
Проще говоря, в этой статье пойдет речь не о том, как написать свой
поисковик от и до. А о еще одном методе организации поиска в БД в
частности в MySQL.
Методе, которому с моей точки зрения интернет сообщество не уделило
достаточного внимания, по крайней мере просмотрев несколько статей по
данной тематике не нашел более подробного описания о том как
организовать быстрый поиск по нескольким ключевым словам. За
исключением конечно описания FULLTEXT search. Но так как одним из
основных условий было хорошая переносимость,
... Читать дальше »
Цель этого документа - информировать PHP программистов о часто встречающихся ошибках безопасности,
которые могут остаться незамеченными в PHP скриптах. В то время как
многие из нижеследующих концепций кажутся не лишенными здравого смысла,
они, к сожалению не всегда практикуются. После применения следующих
практик в написании программ, Вы сможете исключить подавляющее
большинство дыр безопасности, которые содержат многие скрипты. Многие
из этих дыр безопасности были найдены в часто используемых open source
(открытых источниках) и коммерческих PHP скриптах, в прошлом.
Наиболее важный урок, полученный от изучения этой статьи, в том, что
вы должны никогда не доверять данным полученным от пользователя ожидая
именно то что требуется.
Путь, которым большинство PHP скриптов были скомпрометированы -
введя непредвиденные данные использовать дыры безопасности содержащиеся
в скрипте.
Всегда держите следующие принципы в уме, когда пишете свои скрипты. помните следующи
... Читать дальше »
Здравствуйте. Мы открываем курс по программированию на PHP.
Курс для новичков, но в дальнейшем будут появляться статьи для проффесионалов. Надеемся вы узнаете много нового!
Итак, для начала стоит разобраться что такое скрипт, PHP интерпретатор, сервер.
PHP интерпретатор - специальная программа работающая в связке в
веб-сервером (Apache, IIS и другими). Скрипт - это текстовой файл
содержащий команды для PHP интерпретатора.
Как писать скрипт? Скрипт всегда начинается символом <?php (или
) и заканчивается ?>. Также скрипт может начинается символом
<% и заканчиваться %> (это в ASP стиле, и только в том случае,
если разрешено в настройках PHP). Существует еще один, самый громоздкий
вид записи. Это <script language="PHP">. Я рекомендую
использовать и ?>. Файлы со скриптами должны иметь расширения:
php, phtml, php3, php5. Советую использовать только php
Рассмотрим простейший скрипт.
<?
echo 'Hello World';
?>
Программисты
... Читать дальше »
Здравствуйте! Сегодня я продолжу курс по PHP и расскажу про переменные и константы.
Сначала поговорим про переменные.
Переменная в PHP может содержать какую-то информацию: число, текст и
другое. Это необходимо во всех скриптах. Переменная может изменяться
или дополняться во время выполнения PHP сценария. Рассмотрим простейший
пример:
<?php
$world = "Hello World";
echo $world;
?>
Этот пример выведет на экран текст "Hello World". Здесь мы просто
создали переменную "world" и присвоили ей значение "Hello World". Я уже
говорил, что переменную можно изменять во время выполнения PHP скрипта.
Пример:
Данный код выведет на экран: "Hello World!<br>Copyright (C)
Wmaster.NET". Как видите, мы изменили переменную, также как и присвоили
ей значение. Не забывайте
... Читать дальше »
Сделав свою сеть каталогов и продвигая ее можно не плохо зарабатывать, продвигать свои сайты и другим помогать.
Сначала нужно определится с количеством доменов, а потом соответственно
их зарегистрировать. Чаще всего сети делают в зонах .org, .info потому,
что стоимости первого года регистрации в них составляет всего ~1$.
Регистратора могу посоветовать – http://login.tezis.ru. Когда
определились с количеством каталогов, настало время придумать эти самые
домены, на практике это не так просто.
Зарегистрировали? Идет дальше. Теперь нужно купить как можно больше
хостинг-аккаунтов у разных провайдеров, ну или взять у одного
провайдера и купить много IP адресов. Это связано с тем, что если вы
сделаете всю сеть на одном IP адресе то поисковые системы быстро её
забанят, и все ваши труды пропадут даром. Идеальный вариант – для
каждого каталога свой IP, но на практике достаточно 1 IP = 5 каталогов.
1 IP стоит около 2$/мес.
С хостингом определились? Далее нужно выбрать
... Читать дальше »
Мне часто задают вопрос о том, как можно зарабатывать деньги на своем сайте.
1. Наверно самый популярный способ и самый прибыльный – продажа ссылок.
Ссылки продают, как «морды» (ссылки на главных страницах) так и
внутренние. Продажа морд возможна, если у сайта PR 2 и больше и тИЦ 50
и более. Если вы продаете внутренние ссылки, то чем выше тИЦ тем дороже
будет стоить внутренняя ссылка с вашего сайта. Внутренние ссылки можно
продавать даже имея тИЦ10, доход от сайта будет не больше , не больше
5$ мес (зависит от количества страниц). Если у сайта более высокие
показатели (ПР 3 и больше, тИЦ от 100) то в среднем можно зарабатывать
по 100$ в месяц без особого труда.
2. Контекстная реклама. Это тоже очень хороший и довольно прибыльный
способ заработка на сайте. Здесь прибыль зависит от посещаемости и
тематики сайта. Могу порекомендовать бегуна (http://begun.ru), туда
принимают все сайты и выплаты на WebMoney
3. Продажа рекламных мест под баннеры. Прибыль зависит о
... Читать дальше »
Сегодня я познакомлю вас с обычными и ассоциативными массивами. В
массиве, также как и в переменных (прошлая статья) могут содержаться
какие-то данные. Начнем с простых массивов. Допустим, простой массив
может выглядеть так:
$massiv = array(5, 6, 8, 10);
В массиве есть 4 элемента (или числа). Также это может быть текст, но в случае с текстом, массив должен выглядеть так:
Теперь я покажу, как использовать массивы. Допустим, вы пишите простой
скрипт, который будет выводить погоду. Для этого можно создать 2
массива, как я показал (в дальнейшем конечно я вас научу как это
сделать с помощью MySQL базы )
В простом массиве каждому элементу присваивается число от 0. Допустим,
чтоб вывести погоду в Вильнюсе, надо написать следующий код:
echo 'Сегодня в '.$massiv2[2].' будет '.$massiv[2].' oC';
С простыми массивами разобрались. Все немн
... Читать дальше »
Что такое комментарий? Это информация, которая не влияет на ход
выполнения скрипта. Например в очень сложном коде вы захотите оставить
пояснения, которые не будут выполняться. Это делается с помощью
комментариев. Комментарии бывают однострочные или многострочные.
Однострочные могут начинаться с двух слешей // (как в языке C++) или
решетки # (в стиле Unix подобных систем). Все что находится на этой
строке, не будет выполняться. Например:
# Тут комментарий
// Тут тоже комментарий
echo 'http://wmaster.net'; #выводим на экран адрес сайта
?>
Также бывают многострочные комментарии. С их помощью можно
прокомментировать сразу большим блоком текста, оставить информацию о
разработчике и т.п. Они начинаются символом /* и заканчиваются символом
*/
Пример:
echo 'http://wmaster.net';
/* Прошлой строчкой выводим адрес
замечательного и очень интересного
сайта для веб-мастеров оптимизаторов */
echo '
... Читать дальше »
Очень часто встречаются ситуации, когда нужно подключится к удаленному
серверу, забрать какие-то данные или же отправить их. В этой статье мы
научимся это делать. Рассмотрим простейший пример, нам надо скачать
файл с другого сервера и вывести его содержимое на экран. Для этого мы
будем использовать функцию file_get_contents(). Для примера выведем
поисковую форму Яндекса.
<?php
$yandex = file_get_contents("http://ya.ru"); # В переменную yandex
скачиваем главную страницу Яндекса
echo $yandex; # Выводим ее на экран
?>
Данный скрипт очень просто, но часто может быть полезен для разных
целей. Полученные данные можно парсить: вырезать из них определенные
куски. Для примера нам нужно получить количество проиндексированных
страниц в Яндексе. Для этого мы будем использовать такой код:
<?php
$file=file_get_contents("http://www.yandex.ru/yandsearch?Link=http://wmaster.net&n
... Читать дальше »
В этой статьи мы рассмотрим основные способы получения прямых ссылок на сайт.
1. Естественные ссылки. Это наиболее честный способ
получения ссылок на сайт. Для этого нужно писать много интересных
статей, новостей и т.д. Веб-мастера сами поставят ссылку на вас, если
захотят разместить ваш материал у себя на сайте. Также иногда люди сами
ставят ссылку на ваш ресурс, но это бывает очень и очень редко.
2. Каталожные ссылки. Очень популярный способ получения
внешних ссылок на свой сайт, достаточно заказать регистрацию в
специальном сервисе или и человека который этим занимается, и в среднем
вы получите сотню ссылок на сайт, регистрация стоит недорого если она
производится автоматически (в среднем 5$), регистрируют в среднем в
2000 каталогах если это автоматическая регистрация. Если регистрируют в
ручную, то эта услуга стоит от 20$, но качество и количество бэков
будет больше (150-200). Недостаток заключается в том, что эти ссылки
имеют небольшой вес, даже не
... Читать дальше »
Очень часто в скриптах надо использовать циклы. Их можно использовать
для самых разных целей, сортировки данных, проделывания одной опреации
несколько раз и т.п. Также циклы удобно использовать, когда надо
возвести какое-то числов в какую-то степень. Допустим число 2 нужно
возвести в 4-ую степень. Вроде бы ничего сложного. Просто 2*2*2*2. Ну а
если число надо возвести в сотую степень? Тут и помогут циклы.
Начнем с цикла for(). Он более легкий. Выглядит он примерно таким образом:
В данном примере запускается цикл. В нем переменной $i присваевается
значение 1. Цикл будет выполняться, пока значение переменной $i не
станет равно 4ем. После того, как ее значение перейдет за
... Читать дальше »
В этой статье мы рассмотрим как правильно делать сети, продвижение таких сетей и как на этом можно зарабатывать деньги.
Если вы решили создать свою сеть сателлитов, то для начало конечно надо
выбрать тематику сети, это этого отчасти зависит прибыльность сети
сателлитов. Что касается контента и дизайна каждого сателлита, то
дизайн должен быть везде разный, пойдет и шаблонный. С контентом тут
дела обстоят иначе, на главной странице очень желательно что бы был
уникальный контент, или хотябы качественный рерайтинг. Если же каждая
страница сателлита будет уникальная, то это очень хорошо.
Нужно опредилится с количеством сайтов которые будут находится в сети, желательно делать от 20 сайтов.
Очень выжным моментом является размещение сетки как можно на большем
количеством IP адресов, в идеяле это каждый сайт на одном IP, но если
сайтов много, то для каждого отдельный ип это будет стоить дорого,
поэтому можно например по 5 сайтов на ип. Если нет желания покупать IP
адреса,
... Читать дальше »