Работа с файлами
• • • Создание файла Функция fopen <? php $f 1=$_POST['$f 1']; $fd=fopen("$f 1", "a+"); ? >
Параметр типа доступа
Запись текста в файл • Функция fwrite • fwrite ( указатель на файл, строка [, длина]); <? php $f 2=$_POST['$f 2']; $f 3=$_POST['$f 3']; $fd=fopen("$f 2", "a+"); if (fwrite($fd, $f 3)) echo "Запись прошла успешно"; • else echo "Произошла ошибка при записи данных"; • fclose($fd); • ? > • • •
Чтение данных из файла • fread (указатель на файл, длина); • <? php • $f 4=$_POST['$f 4']; $f 5=$_POST['$f 5']; • $h = fopen("$f 4", "r+"); // отрываем файл на запись и чтение • $content = fread($h, filesize("$f 4")); // считываем содержимое файла в строку • fclose($h); // закрываем соединение с файлом • echo $content; // выводим содержимое файла на экран браузера • ? >
Считывание информации из файла в переменную типа массив. file ( имя_файла [, use_include_path]); <? php $f 5=$_POST['$f 5']; $arr = file ("$f 5"); foreach($arr as $i => $a) echo $i, ": ". htmlspecialchars($a). " "; • ? > • • •
Проверка существования файла • file_exists (имя файла или директории); • <? php • $f 6=$_POST['$f 6']; • • if (file_exists($f 6)) • { • print "Файл <b>$f 6</b> существует"; • } • else print "Файл <b>$f 6</b> НЕ существует"; • ? >
Удаление файла • • • <? php $f 7=$_POST['$f 7']; unlink($f 7); ? >
Загрузка файла на сервер • 1. Создается специальная форма, она должна содержать атрибут enctype в теге form со значением multipart/form-data, а также элемент input типа file. • 2. создается скрипт
Скрипт загрузки • <? php • $f 8=$_POST['$f 8']; • if($_FILES["$f 8"]["size"] > 1024*3*1024) • { • echo ("Размер файла превышает три мегабайта"); • exit; • } • // Проверяем загружен ли файл • if(is_uploaded_file($_FILES["$f 8"]["tmp_name"])) • { • // Если файл загружен успешно, перемещаем его • // из временной директории в конечную • move_uploaded_file($_FILES["$f 8"]["tmp_name"], "/path/to/file/". $_FILES["$f 8"]["name"]); • } else { • echo("Ошибка загрузки файла"); • } • ? >
Настройка PHP для загрузки файла • upload_max_filesize