Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программирование с нуля - это совсем просто! 111) Программирование на Delphi 2006 + Курс PHP


Школа программирования

111) Программирование на Delphi 2006 + Курс PHP: Работа с файлами

Сначала о важном :)

Наконец вышла из печати моя книга "Delphi 2006: новые возможности" - по самой новой версии Delphi 2006. Она рассчитана на всех, кто программирует на Дельфи (например, в рамках нашего базового курса :).

Через интернет-магазин ее можно купить, - просто введите на яндексе "бобровский delphi" и выберите подходящую цену.

Тираж небольшой - три тысячи, и на 1 июля, еще до начала продаж, на складе издательства оставалось лишь две тысячи. Рассылку же читают десять тысяч человек :)
Так что если она вам нужна, поспешите!

Стоит она почти как ежемесячный журнал "Хакер" или "Игромания", а насколько более полезна, решайте сами.
В книге рассмотрены новые возможности системы программирования Delphi 2006 и представлены нововведения в языке, оболочке, редакторе, компиляторе и отладчике. Объяснены новые технологии работы с базами данных и создания приложений для Интернета. Особое внимание уделено средствам и технологиям повышения эффективности работы программистов: рефакторингу, шаблонам проектирования, унифицированному языку UML и технологии моделирования ECO.
Издание рассчитано на программистов всех уровней подготовки. Начинающие разработчики познакомятся с удобными средствами быстрого создания программ, программисты средней квалификации изучат современные подходы к разработке сложных систем и новые средства визуального проектирования, а профессионалам будут интересны новые возможности технологий моделирования ECO III, UML 2.0 и паттернов проектирования.
Отмечу еще раз, если хотите купить, не откладывайте!
Я ее не рекламирую, потому что она к сентябрю продастся и так. Просто, забочусь о вас :)
Книга выпущена издательством "Питер" под редакцией замечательного автора Сергея Симоновича, компьютерные книги которого (изд. "Развитие") вышли миллионными тиражами, поэтому издание особо отличается безукоризненным качеством стиля и дизайна :)


Курс PHP: Работа с файлами

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

Открытие файла осуществляется с помощью функции

fopen( имя-файла, режим-открытия );

В качестве имени указывается строка, которая может включать и путь к файлу. В качестве режима используются следующие значения:

  "r" - открыть для чтения;
  "r+" - открыть для чтения и записи, запись будет начинаться с начала
  файла;
  "w" - открыть для записи;
  "w-" - открыть для чтения и записи, запись будет начинаться с конца
  файла;
  "a" - открыть для записи в конец;
  "a+" - открыть для чтения и записи в конец.

Функция возвращает целое число - системный идентификатор открытого файла.

Открытие текстового файла для чтения:

  $fp = fopen ("/home/ file.txt", "r"); // в Unix/Linux

  $fp = fopen ("c:\\data\\info.txt", "r"); // в Windows

Если открыть файл не удалось, функция вернет значение 0.

Закрытие файла выполняется функцией

fclose( fp );

fp - идентификатор ранее открытого файла.

Принцип ввода данных связан с понятием файлового указателя - метки, которая задает точку в файле, с которой будет вводиться очередной блок данных.

Наиболее часто используемая функция ввода данных из файла - fgets(). Она вводит заданное число байтов из файла, если в нем хранится текстовая информация, то строка завершается раньше, в случае, когда встречается символ окончания строки. С помощью fgets() обрабатываются чаще всего текстовые файлы. После выполнения fgets() указатель в файле сдвигается вперед на считанное число байтов.

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

  $buffer = fgets($fp, 80);

Происходит попытка ввода 80 символов.

Запись строки в файл происходит с помощью функции fputs():

  $string="hello";
  $file = "zadanie.txt";
  $fp= fopen($file,"w");
  fputs($fp, $string);

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

feof( идентификатор-файла )

которая возвращает 1, если файл закончен, и 0 в противном случае.

Вот как может выглядеть вывод содержимого некоторого файла на экран:

  $fp = fopen ("c:\\my\\lover. txt", "r"); // открыть

  while ( ! feof ( $fp ) ) { // пока не конец файла
     $buf = fgets( $fp ); // вводим строку из файла в переменную $buf
     print $buf . "<p>"; // выводим ее на экран
  }

  fclose ($fp); // закрыть

В начале названия файла можно указать протокол доступа "http://" . Тогда сценарий попробует обратиться к такому файлу дистанционно, по сети. Чаще всего этот прием применяется для автоматического анализа содержимого сайтов.

Следующий код выводит на экран html-структуру сайта ya.ru:

  $fp = fopen ("http://ya.ru/", "r"); // открыть

  while ( ! feof ( $fp ) ) { // пока не конец файла
     $buf = fgets( $fp ); // вводим строку из файла в переменную $buf
     print $buf . "<p>"; // выводим ее на экран
  }

  fclose ($fp); // закрыть

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

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

  $MyArray = file( 'myfile.txt' );

Содержимое массива $MyArray можно далее обрабатывать стандартными методами работы с массивами (число элементов в массиве находится функцией count() ).

Задания.
1. Создайте форму с полями "имя" и "пароль", данные из которой PHP-сценарий при получении будет записывать (добавлять) в локальный текстовый файл, находящийся с ним в одном каталоге.
2. Напишите программу, которая будет проверять содержимое заглавной страницы некоего сайта на наличие в нем слова "человек". (c) 2004-2006 Сергей Бобровский bobrovsky@russianenterprisesolutions.com

Школа программирования с нуля
Все предыдущие выпуски базового курса всегда тут:
http://www.infiltration.ru/p/

Дизайн рассылки: Алексей Голубев - Web-дизайн и web-программирование


В избранное