Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Практическое занятие №30



Наименование: Работа с файлами

1. Цель: Научиться создавать, копировать, удалять файлы с помощью языка PHP. Загружать файлы на веб – сервер

2. Подготовка к занятию:

2.1 По указанной литературе повторить тему «Работа с файлами», уделить внимание вопросам:

- основные функции, необходимые для работы с файлами;

- режимы функции fopen();

- методы пересылки данных на веб - сервер;

- способ кодирования передаваемых на сервер данных.

3. Литература:

3.1 Никсон Р. Создаем динамические веб-сайты с помощью PHP, MySQL и JavaScript. – СПб.: Питер, 2011. – 496 с

3.2 Шапошников И.В. PHP 5.1 Учебный курс. –СПб.: Питер, 2007. – 192 с.

3.3 Шомас Е.А. Конспект лекций по дисциплине «Распределенные системы обработки информации»

4. Перечень оборудования:

4.1 ПЭВМ, подключенные к сети Интернет;

4.2 Пакет Денвер;

4.3 Браузеры;

5. Задание:

5.1 Создайте текстовый файл. В который поместите несколько строк: ваши ФИО, название города, где вы живете, учебное заведение, в котором учитесь.

5.2 Прочитайте весь ваш файл в браузере.

5.3 Скопируйте файл и во втором файле допишите группу. В которой учитесь. Прочитайте в браузере, что у вас получилось.

5.4 Загрузите файл с изображением на веб – сервер средствами элементов формы. Если изображение имеет большие размеры, в скрипте укажите необходимые атрибуты тега. Для оптимизации размера изображения.

6. Порядок выполнения работы:

6.1 Примеры сценариев с использованием функций даны в приложении.

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

7. Содержание отчета:

7.1 Наименование и цель работы;

7.2 Код программы;

7.3 Скрины выполненных заданий;

7.4 Ответы на контрольные вопросы;

7.5 Вывод о проделанной работе;

8. Контрольные вопросы:

8.1 Выпишите основные функции, которые использовались при выполнении практической работы. Пояснить назначение каждой функции.

8.2 Какие режимы работы существуют у функции fopen()? Перечислите и поясните.

ПРИЛОЖЕНИЕ:

MySQL не является единственным способом хранения всех данных на веб – сервере. Иногда бывает быстрее и удобнее обращаться непосредственно к файлам, хранящимся на диске. Чтобы проверить факт существования файла, используют функцию file_exists, которая возвращает либо TRUE либо FALSE и используется следующим образом: if (file_exists(“testfile.txt”)) echo “Файл существует”; Создание файла Создадим файл testfile.txt, для этого запишем следующий код и сохраним его под именем testfile.php<?php$fh = fopen("testfile.txt", 'w') or die("Создание файла не удалось");$text = <<<_ENDCтрока1Строка2Строка3_END;fwrite($fh, $text) or die("Сбой записи файла");fclose($fh);echo "Файл 'tectfile.txt' записан успешно";?>Если код будет запущен через браузер, появится следующее сообщение: Файл 'tectfile.txt' записан успешно. В противном случае будет выведено сообщение об ошибке, значит на диске недостаточно свободного места либо отсутствует разрешение на создание файла. Разбор кода:1. Открытие файла начинается с функции fopen().2. Далее велась запись в файл с помощью функции fwrite(). Можно также читать данные из уже существующего файла с помощью функций fread() или fgets().3. Завершается работа закрытием файла, функцией fclose().В следующей таблице перечислены параметры режима работы, которые могут быть использованы при вызове функции fopen()
Режим Описание
‘r’ Открывает файл только на чтение, записывать в него нельзя
‘r+’ Открывает и на чтение, и на запись. Указатель в начале файла
‘w’ Открывает файл только для записи, причем запись будет идти с начала файла. Если там будет какая-то информация – то она будет перезаписана
‘w+’ Открывает и на чтение и на запись, но удаляет всю информацию, которая была в файле!
‘a’ Открывает файл на запись, запись добавляется в конец файла (дописывается)
‘a+’ Открывает файл для чтения и записи, запись осуществляется в конец файла
Чтение из файла с помощью функции fgets() Проще всего прочитать текстовый файл, извлекая из него всю строку целиком. Для этого используется функция fgets().<?php$fh = fopen("testfile.txt", 'r') or die("Файл не существует или вы не обладаете правами на его открытие");$line = fgets($fh);fclose($fh);echo $line;?>Выполнение кода даст одну строку: Строка1Можно извлечь из файла сразу несколько строк или фрагменты строк, для этого используется функция fread() <?php$fh = fopen("testfile.txt", 'r') or die("Файл не существует или вы не обладаете правами на его открытие");$text = fread($fh,3);fclose($fh);echo $text;?>В данном примере было запрошено чтение трех символов: Стр Копирование файлов Для создания клона нашего файла, используется функция copy(). Наберите предложенный код и сохраните в файле copyfile.php<?phpcopy('testfile.txt', 'testfile2.txt') or die("Копирование невозможно");echo "Файл успешно скопирован в 'testfile2.txt' ";?> Удаление файла Для удаления файла используют функцию unlink(). <?phpif (!unlink('testfile2.txt')) echo "Удаление невозможно";else echo "Файл 'testfile.txt' удален успешно";?> Обновление файла Иногда возникает потребность добавлять к сохраненному файлу дополнительные данные. Можно воспользоваться одним из режимов добавления данных представленных в таблице. Наберем следующий код и сохраним в файле update.php. <?php$fh = fopen("testfile.txt", 'r+') or die("Сбой открытия файла");$text = fgets($fh);fseek($fh, 0, SEEK_END);fwrite($fh, "$text") or die("Сбой записи в файл");fclose($fh);echo "Файл 'testfile.txt' уcпешно обновлен";?>Эта программа открывает файл testfile.txt для чтения и записи, для чего указывается режим ‘r+’. Затем используется функция fgets, с помощью которого из файла считывается одна строка. После этого вызывается функция fseek, которая перемещает указатель файла в самый конец, куда добавляется строка, которая была извлечена из начала файла. У функции есть два параметра – 0 и SEEK_END. Последний указывает на перемещения указателя в конец файла, а 0 на начало позиции. Этой функции присуще еще два режима установки указателя:SEEK_SET – устанавливает указатель файла на конкретную позицию - fseek($fh, 18, SEEK_ SET) - 18. SEEK_CUR – устанавливает указатель на позицию. Которая смещена от текущей позиции на заданное значение. Если в данный момент указатель на позиции 18, то вызов функции fseek($fh, 5, SEEK_CUR) переместит указатель на позицию 23. Чтение всего файла целиком Для чтения всего файла без использования описателей файлов используют функцию file_get_contents. <?phpecho "<pre>";echo file_get_contents("testfile.txt");echo "<pre>"?>Функцию можно использовать и для извлечения файла с сервера через Интернет с последующем его отображением. <?phpecho file_get_contents("http://www.yandex.com/");?> Загрузка файлов на веб – сервер Загрузить файлы на веб сервер можно из формы. Для этого нужно выбрать специальный тип кодировки - multipart/form-data. Создадим файл upload.php, куда поместим следующий скрипт:<?phpecho <<<_END<html><head><title>Форма для загрузки файлов на сервер</title></head><body><form method='post' action='upload.php' enctype='multipart/form-data'>Выберите файл:<input type='file' name='filename' size='10'/><input type='submit' value='Загрузить'/></form>_END;if ($_FILES){$name = $_FILES['filename']['name'];move_uploaded_file($_FILES['filename']['tmp_name'], $name);echo "Загружаемое изображение '$name'<br/><img src='$name'/>";}echo "</body></html>";?> Анализ программы: В первой строке конструкция echo задает начало html – документа, заголовок, тело, в котором размещена форма. Для передачи данных из формы используется метод POST. Все загружаемые на сервер файлы помещаются в ассоциативный системный массив $_FILES. Сначала программа проверяет есть ли у массива $_FILES какое-то содержимое. При первом посещении страницы пользователем массив пуст, поэтому программа пропускает этот блок кода. Когда пользователь загружает файл, программа запускается еще раз и обнаруживает присутствие элемента в массиве. Обнаружив, что файл загружен, его имя, каким оно было прочитано с компьютера, извлекает его и помещает в переменную $name. Затем файл перемещается на постоянное место хранения с помощью функции move_uploaded_file. Затем, загруженное на сервер изображение отображается путем перемещения его имени в тег img.
№ п/п Наименование практического занятия Часы
  Создание простого сценария в JavaScript  
  Создание электронной визитной карточки  
  Использование условных операторов в сценариях JavaScript  
  Использование циклов в сценариях JavaScript  
  Работа с объектами Date в сценариях JavaScript  
  Работа с объектами Array и String в сценариях JavaScript  
  Использование функций в сценариях JavaScript  
  Использование рисунков и анимации в сценариях JavaScript  
  Создание простого сценария на PHP  
  Передача значений переменных средствами форм HTML  
  Использование условий при составлении программ на PHP  
  Использование массивовпри составлении программ на PHP  
  Использование функций даты и времени в сценариях PHP  
  Создание собственных функций  
  Работа с файлами  




Дата публикования: 2015-07-22; Прочитано: 279 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2025 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.102 с)...