Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Web-10-PHP-2.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
461.82 Кб
Скачать

Работа с файлами в php

Работа с файлами разделяется на 3 этапа:

  • Открытие файла.

  • Манипуляции с данными.

  • Закрытие файла.

Открытие файла

Для того чтобы открыть файл в среде PHP используется функция fopen(). Обязательными параметрами этой функции является имя файла и режим файла.

$fp = fopen('counter.txt', 'r');

Согласно документации PHP выделяют следующие виды режимов файлов:

r – открытие файла только для чтения.

r+ - открытие файла одновременно на чтение и запись.

w – создание нового пустого файла. Если на момент вызова уже существует такой файл, то он уничтожается.

w+ - аналогичен r+, только если на момент вызова фай такой существует, его содержимое удаляется.

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

a+ - открывает файл в режиме чтения и записи при этом указатель сдвигается на последний байт файла (на конец файла). Содержимое файла не удаляется.

Манипуляции с данными файла

Записывать данные в файл при помощи PHP можно при помощи функции fwrite(). Это функция принимает 2 обязательных параметра и 1 необязательный. В качестве обязательных параметров выступает дескриптор файла и режим файла:

<?php

$fp = fopen("counter.txt", "a"); // Открываем файл в режиме записи

$mytext = "Это строку необходимо нам записать\r\n";

// Исходная строка

$test = fwrite($fp, $mytext); // Запись в файл

if ($test) echo 'Данные в файл успешно занесены.';

else echo 'Ошибка при записи в файл.';

fclose($fp); //Закрытие файла

?>

Для построчного считывания файла используют функцию fgets(). Функция принимает 2 обязательных параметра:

<?php

// Открываем файл в режиме чтения

$fp = fopen("counter.txt", "r");

if ($fp)

{

while (!feof($fp))

{

$mytext = fgets($fp, 999);

echo $mytext."<br />";

}

}

else echo "Ошибка при открытии файла";

fclose($fp);

?>

Закрытие файла

Закрытие файла происходить с помощью функции fclose(), которая принимает 1 обязательный параметр.

<?php

$fp = fopen("counter.txt", "r");

if ($fp)

{

echo 'Файл открыт';

fclose($fp); // Закрытие файла

}

?>

Если нужно просто читать и писать блоки текста, то проще всего воспользоваться парой функций file_get_contents() и file_put_contents(). Первая функция считывает и возвращает данные из файла в виде строки, а вторая - записывает блок текста в указанный файл. Пользоваться этими функциями очень просто:

<?php

$content = file_get_contents('myfile.txt');

$content = str_replace('{user_name}', 'Иван Петрович', $content);

file_put_contents('myfile.txt', $content);

?>

Работа с базой данных mysql

mysqli_connect

Эта функция устанавливает соединение с сервером server MySQL и возвращает дескриптор соединения с базой данных, по которому все другие функции, принимающие этот дескриптор в качестве аргумента, будут однозначно определять выбранную базу данных. Вторым и третьим аргументами этой функции являются имя пользователя username и его пароль password соответственно:

/* Подключение к серверу MySQL */

$link = mysqli_connect(

'localhost', /* Хост, к которому мы подключаемся */

'user', /* Имя пользователя */

'password', /* Используемый пароль */

'world'); /* База данных для запросов по умолчанию */

if (!$link) {

printf("Невозможно подключиться к базе данных. Код ошибки: %s\n", mysqli_connect_error());

exit;

}

mysqli_close

Эта функция разрывает соединение с сервером MySQL, и возвращает true при успешном выполнении операции и false в противном случае. Функция принимает в качестве аргумента дескриптор соединения с базой данных, возвращаемый функцией mysqli_connect

/* Закрываем соединение */

mysqli_close($link);

mysqli_query

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

/* Посылаем запрос серверу */

if ($result = mysqli_query($link, 'SELECT Name, Population FROM City ORDER BY Population DESC LIMIT 5')) {

print("Очень крупные города:\n");

/* Выборка результатов запроса */

while( $row = mysqli_fetch_assoc($result) ){

printf("%s (%s)\n", $row['Name'], $row['Population']);

}

/* Освобождаем используемую память */

mysqli_free_result($result);

}

mysqli_insert_id

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

$query = "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)";

mysqli_query($link,$query);

printf ("ID новой записи: %d.\n", $mysqli->insert_id);

Если последний запрос не был INSERT или UPDATE или в модифицируемой таблице отсутствует колонка с атрибутом AUTO_INCREMENT, данная функция вернет ноль.

mysqli_set_charset

Задает набор символов по умолчанию (кодировку).

/* изменение набора символов на utf8 */

if (! mysqli_set_charset($link,"utf8")) {

printf("Ошибка при загрузке набора символов utf8: %s\n", mysqli_error());

} else {

printf("Текущий набор символов: %s\n", mysqli_character_set_name());

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]