Программирование с нуля - это совсем просто! 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():
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