Заявка №2. Простейший анонимайзер

Вторая просьба была такова — описать работу простейшего анонимайзера. Ну-с приступим. Сначала теория. Сайт для браузера — это последовательность всяких символов, именуемых html-кодом. В самом простом случае мы должны эту последовательность символов считать и куда-то записать. Что-то типа такого:


<?php
$url = fopen ("https://makson.ru", "r");
$file = fopen ("site.html", "w");
$k = "";
while (!feof($url)) {
$i = fgets ($url);
$k = $k.$i;
}
fputs ($file,$k);
?>

Разберём по-строчно.
1. $url = fopen («https://makson.ru», «r»); — функция fopen открывает файл или url. Режим ‘r’ открывает файл только для чтения и помещает указатель в начало файла.

2. $file = fopen («site.html», «w»); — аналогично, но режим ‘w‘ открывает файл только для записи; помещает указатель в начало файла и обрезает файл до нулевой длины. Если файл не существует — пробует его создать.

3. Переменной $k пока задаём пустое значение.

4. while (!feof($url)) { — указывает PHP выполнять вложенные выражения повторно до тех пор, пока выражение в самом while является TRUE. Функция feof() проверяет, достигнут ли конец файла. Знак ‘!‘ в php является знаком отрицания, то есть цикл будет работать пока не будет достигнут конец файла.

5. $i = fgets ($url); — функция fgets читает строку из файлового указателя. В нашем случае указатель на файл — переменная $url. Указатель на файл должен быть корректным и указывать на файл, успешно открытый функциями fopen() или fsockopen() (и все еще не закрытым функцией fclose()).

6. $k = $k.$i; — переменная $k равняется самой себе плюс значение переменной $i (строка). То есть цикл накладывает содержимое строк файла друг на друга.

8. fputs ($file,$k); — функция известна также, как fwrite. Записывает содержимое в файловый поток. То есть в site.html будет записано значение переменной $k.

Простейший анонимайзер готов, конечно, для динамических сайтов оно не годится.
А вот для отображения в браузере нужно этот самый браузер сэмулировать путём передачи заголовков (HTTP/1.1 — RFC 2068). Как-нибудь напишу об этом.

Заявка №1. Кириллица в латиницу.

Потихоньку начинаем работать в рамках практики , как видите появилась новая рубрика «по заявкам.» Первая просьба оказалась довольно простой — нужно сделать перекодировщик русских букв в латинские. При этом никаких особых условий обговорено не было,а стало быть рассмотрим наиболее простой вариант, состоящий из маленькой web-формы и функции. Начнём с web-формы.

<!DOCTYPE html>
<html>
<head>
<title>Конвертер CYR-LAT</title>
</head>
<body>
 <form action="" method="post">
 <p>
 <textarea name="src" cols="50" rows="10"></textarea>
 </p>
 <p><input type="submit" value="Перекодировать">
 </form>
</body>
</html>

Здесь всё предельно просто, право не знаю стоит ли подробно описывать формочку. Хотя повторение — мать учения — так что кратко описываем по строкам.

1. <!DOCTYPE html> — доктайп (doctype) не является html-тегом в чистом виде. Это инструкция браузеру, указывающая версию языка разметки. В данном случае мы используем HTML 5.

2. <html> — ну тут всё понятно, тег-контейнер, содержащий в себе всё содержимое.

3. <head> — тег предназначен для хранения метатегов, использующихся для хранения информации, предназначенной поисковым системам и браузерам (например, заголовок страницы, ключевые слова, описание страницы и т.д.).

4.<title>Конвертер CYR-LAT</title> — здесь храним заголовок страницы.

5. </head> — соответственно закрываем тег «головы»

6. <body> — предназначен для хранения содержимого веб-страницы. «Тело» страницы.

7. <form action= » » method= «post» > — начало формы, action (действие) содержит в себе пустое строку, поскольку у нас скрипт в одном и том же файле, если бы мы передавали данные в какой-то другой файл,строка выглядела бы примерно так: form action= «myfile.php» . Ну а method = «post» указывает на то, как именно мы передаём данные, методом post или методом get. Само собой в данном случае предпочтительней post, поскольку не меняется адресная строка.

Читать дальше …

Нужна практика!

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

С праздником Светлой Пасхи!

Искренне поздравляю всех людей с праздником Светлого Воскресения Христово! Пусть Господь в этот день услышит наши молитвы и не оставит нас без своей божественной помощи. А она порой нужна как никогда ранее. Господи, помоги!

Начать ли писать рассказы?


Тут такое дело… Есть у меня пару метафизических сюжетов. Прямо спать по ночам не даёт, требуют реализации. С реальными историями не связаны, с компьютерной техникой, с искусственным интеллектом, с компьютерными сетями, с сайтами ничего такого не связано, как не странно 🙂

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

Цензуру по антикоррупции прошли не все….

Ещё раз убедился, насколько по разному люди могут интерпретировать одни и те же вещи. Можно ли победить коррупцию в отдельно взятом регионе? Да, наверное, нет. Только осознание прежде всего «дающего» купюру в своей неправоте может кардинально изменить ситуацию. Ведь всё начинается с малого, сначала — «ну что вы, примите, это просто подарок, коробочка конфет», после чего должностное лицо наглеет и уже не скупится в аппетитах. Кто ж в этом виноват? И тот, кто берёт, и тот, кто даёт.

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

Какой русский не любит быстрой езды?

Получил недавно права водителя (за что низкий поклон автошколе ГАПК, как-нибудь напишу более подробно), периодически езжу на жигулёнке на дачу, там откуда-то появилось три котика, надо подкармливать.

Заметил, что большинство в городе использует максимально допустимую правилами скорость в 60 км/ч. Я себя комфортно чувствую на скорости третьей, 40 км/ч, куда гнать-то? Короче в качестве своего протеста выкладываю вот такое замечательное видео, маленьким водителям на заметку.

Небесный кот, не оставь эту зверушку

Продолжение истории с пострадавшим котиком. В понедельник кота повезли в ветеринарную клинику VET &  MED в посёлок Большое Исаково, где есть передержка животных. Всю дорогу кот очень тяжело дышал,в основном через рот, зрелище страшное.

В клинике животинку осмотрели и дали страшный прогноз. У кота рак, метастазы уже добрались до шеи несчастного. Лечить на такой стадии заболевание бесполезно, только растягивать пытки зверька. Ну что тут сделаешь, медицина не всесильна. Пришлось прервать его мучения, котику ввели наркоз, а потом инъекцию. Пушистик отправился к Великому небесному коту, то есть был усыплён. В этой ситуации это было единственное верное решение.

Читать дальше …

Студенческая газета пошла в печать

Наш пилотный выпуск студенческой газеты был одобрен, подредактирован и отправлен в печать, ура! Название решили сменить, вместо Астролёта будет Добролёт. А вот символ нашего клуба — хомячок Эврик остался. Так что растём, учимся, развиваемся. Ну а теперь искренние благодарности тем, благодаря кому газета приобрела осязаемый вид.

1. Архипов Юрий — мы обязательно спасём бездомных котов, собачек и хомяков. Ни один не уйдёт от миски вкусного корма и тёплого дома!

2. Вертель Генрих — ваша помощь в деле помощи меньшим братьям неоценима, а увлечения точными науками — путь настоящего специалиста.

3. Анна Шатун — не за горами тот день, когда вы откроете собственное дизайнерское агенство. Хомячок Эврик гарантирует это.

4. Руснак Марина — спасибо за работу с рубриками. Юриспруденция не забудет твоего вклада!

5. Троян Юлия — в нашем мире не обойтись без хорошего специалиста в области права, и этот специалист — вы.

6. Лоскутов Аркадий Фёдорович — спасибо за поддержку и веру в наш непобедимый отряд. Мы ещё проявим себя.

Ну а грамоты я вручу на очередном заседании, которое планируется в марте.

Скачать макет газеты можно отсюда.