Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

Функция имеет следующий синтаксис:

setcookie(имя куки, значение, срок годности, информация о пути, домен, защищенность)

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

Значением, которое несет cookie, может быть любая строка ASCII символов. Например, можно установить cookie с именем и фамилией посетителя, которые он до этого ввел в поле формы.

$data = $name."||".$surname;
setcookie("username", $data);

Заметьте, что отсылаемые данные должны быть оформлены в виде строки, попытка прочитать отосланный ранее массив значений ни к чему не приведет.

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

    Задать отностительный срок действия с помощью функции time(), к которой прибавляется время в секундах для хранения cookie. Например, чтобы определить cookie на два часа необходимо написать:

setcookie("test 1", "это тестовая куки", time() + 3600 * 2); // 3600 - количество секунд в часе

    Второй способ - задание абсолютного срока истечения годности cookie. Он устанавливается с помощью функции mktime(), которая возвращает конкретную дату удаления куки. Если необходимо задать срок жизни cookie до полуночи 1 сентября 2003 года, то следует определить cookie так:

setcooikie("test 2", "куки с абсолютной датой удаления", mktime(0, 0, 0, 9, 1, 2003);

Необязательный параметр пути ограничивает область действия cookie в пределах определенных директорий. Причем в эту область входят все пути, начинающиеся со значения в этом параметре. Например:

НЕ нашли? Не то? Что вы ищете?

setcookie("test 3, "", 0, "/mus");

Мы установили куку, пропустив параметры значения и времени и определив область действия всеми путями, начинающимися со строки "/mus", то есть сюда входят и директория "/music/", и "/museums/". Чтобы однозначно определить путь, необходимо завершить путь слешем. То есть для ограничения действия куки каталогом "/mus", необходимо было написать в параметре "/mus/".

Следующим опциональным параметром является параметр определения действия cookie в пределах указанного домена. Причем значению этого параметра "" соответствует только сайт с адресом http://, а значению "" соответствуют уже и http://, и http://mail. , и http://, то есть все домены, кончающиеся данной строкой.

Последний параметр функции setcookie() указывает на то, что данная cookie должна быть послана через защищенное соединение (HTTPS). Этот параметр необходим при установке cookie с конфеденциальными данными.

setcookie("my_cookie", $value, time() + 3600 * 24 * 5, "/", ".myphp. dem. ru", 1);

Чтение cookie.

Обращение к установленной cookie идет через ее имя. Например, продолжая пример выше, прочесть cookie можно следующим образом:

echo "У вас сохранены следующие данные:<br>";
echo $my_cookie;

Обращение к данным, сохраненным в cookie, также может происходить через массив $HTTP_COOKIE_VARS. Он схож с другими подобными массивами, такими как $HTTP_POST_VARS и другими, и содержит все значения, прочтенные из cookie.

Удаление cookie.

Удаление cookie производится отправкой новой cookie с именем удаляемой без каких-либо дополнительных параметров.

Например:

$data = $my_cookie;
setcookie("my_cookie");
echo "Следующие данные были удалены:<br>" . $data;

На этом закончим сегодняшний урок. До встречи.

Работа с удаленными документами.

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

Интересная особенность PHP заключается в том, что он может выступать не только в роли обработчика и исполнителя сценария, но и в качестве клиента сети. Если до этого урока мы манипулировали только локальными объектами, такими как файлы и директории, то на этом мы познакомимся со способами взаимодействия с удаленными объектами.

Обращение к веб-документам.

Обращение к документам, расположенным на удаленном сервере, производится уже знакомой нам функцией fopen(). Как вы понимаете, в этом случае она может быть вызвана только в режиме чтения.

Далее с полученным дескриптором файла можно делать все то же, что и с дескриптором локального файла. Например, можно вывести все содержимое на экран пользователя:

if (!($fp = fopen("http:///", "r") ) exit("Не могу соединиться");
fpassthru($fp);

Функцией fpassthru() мы просто вывели все содержимое веб-документа, то есть на своей странице мы получим точную копию желаемой страницы.

Извлечение информации из документа.

Чаще всего работа с удаленными файлами проводится для получения необходимой информации из целого документа. Примером может служить установленный на сайте прогноз погоды, получаемый, например, с Метеобюро, либо курс доллара с http://www. rbc. ru/, либо афоризм дня или лучший анекдот. Все это и многое другое можно создать с помощью сетевых возможностей PHP.

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

Скрипт по показу анекдотов.

В качестве иллюстрации к вышесказанному предлагаю написать скрипт, который будет выводить анекдоты с сайта Анекдоты на Кроватке в соответствии с указанным пользователем рейтингом.

Сперва напишем функцию, которая выводила бы форму для задания диапазона рейтингов анекдотов для вывода.

<? function show_form() { ?> <form method="post" action=""> <table width="200" border="0" cellspacing="0" cellpadding="2"> <tr> <td>Минимальный рейтинг</td> <td> <select name="min"> <? for ($i = 0; $i < 11; $i++) { echo "<option"; if ($i == 5) echo " selected"; echo ">".$i."</option>\n"; } ?> </select> </td> </tr>

Мы вставили элемент Select, с помощью которого пользователь будет определять нижний предел для рейтинга. Теперь добавим второй Select - для верхней границы рейтинга.

<tr> <td>Максимальный рейтинг</td> <td> <select name="max"> <? for ($i = 6; $i < 17; $i++) { echo "<option"; if ($i == 16) { echo " value='no' selected>"; echo "Неограниченный</option>\n"; continue; } echo ">".$i."</option>\n"; } ?> </select></td> </tr> <tr> <td> <input type="submit" value="Показать"></td> <td> </td> </tr> </table> </form> <? }    // конец функции show_form()

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

function show_anecdots($min, $max) { if ( !($fp = fopen("http://www. umora. ru/", "r")) ) exit("Не могу соединиться"); $file = fread($fp, 1500000); $file = trim(chop($file)); $file = convert_cyr_string($file, "k", "w"); preg_match_all("!<center><hr width=80%></center>([^<]+)<br><br>!si", $file, $anecdots); preg_match_all("!Рейтинг: <b>([^<]+)</b>!si", $file, $rating);

Данная функция начинается с получения дескриптора удаленного файла. Если происходит ошибка, выходим из скрипта, выводя соответствующее предупреждение. Далее мы считываем файл, указывая немыслимо большой размер документа, чтобы гарантированно считать весь файл. Напомню, что мы не можем использовать функцию filesize(), так как она работает только с локальными объектами.

Следующей строкой мы обрезаем пустые символы по краям текста, а также удаляем повторяющиеся пробелы. Обратите внимание на следующую строку: меняем кодировку текста с koi-8 на windows-1251, так как файл читается с удаленного сервера именно в этой нежелательной для нас кодировке.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13