Помогни ни да направим Uroci.net по - богат! Добави урок

PHP - част 9 (Работа с файлове)

PHP » PHP
fix3d   трудност:    видян: 13704



Затваряне на файл
За да затворите файл, трябва да използвате функцията fclose(). Ако функцията fclose() затвори файла успешно, тя връща стойност True. Ако се провали затварянето на файла, функцията връща стойност False.
Синтаксисът на функцията fclose() е:

bool fclose(int файлов_манипулатор);

Функцията fclose() изисква като аргумент файловият манипулатор на файла, който трябва да се затвори. За да се изпълни функцията успешно, стойността на файловият манипулатор трябва да е валиден и да съответства на файла, който преди това е отворен с функцията fopen().


Четене от файл
За да прочетете данни от външен файл трябва да използвате функцията fread().
Синтаксисът на функцията fread() е:

string fread(int файлов_манипулатор, int дължина);

Както можете да видите, функцията fread() приема два аргумента: файлов_манипулатор и дължина. Аргументът файлов_манипулатор задава мястото във файла, от където да се чете. Аргументът дължина задава броя на символите, които да се прочетат от това място. Операцията по четене продължава докато се прочетат толкова символи, колкото са зададени от аргумента дължина. Ако се достигне до края на файла преди да се прочетат необходимия брой символи, ще се върне низ, съдържаш прочетените до момента символи.

Разгледайте следния файл:

$fo = @fopen("C:PHPMyfilesdata1.dat", r)
or die ("Липсва файла!");
//-- Прочитат се първите 124 символа от файла data1.dat
$fr = fread($fo, 124);

В горния код файла data1.dat се отваря за четене с помощта на функцията fread(). Изразът or die ("Липсва файла!"); се използва за отпечатване на съобщение, ако функцията fopen() не успее да отвори файла. Резултатът от функцията ( 1 или 0 ) се съхранява в променливата $fo. След това тази променлива се предава на функцията fread() като файлов манипулатор. Стойността 124, предадена на fread(), задава, че трябва да се прочетат първите 124 символа от файла data1.dat

PHP предоставя множество файлови функции освен функцията fread(). Функциите fgetc(), fgets() и feof() са едни от най често използваните функции.


Функцията filesie()
Функцията filesie() връща размера на зададения файл. Ако зададения файл не съществува, се връща стойност False ( или 0 ). Функцията има следния синтаксис:

int filesie(string име_на_файл);

Както се вижда от горния синтаксис, функцията filesie() приема един аргумент - името на файла, чиято дължина трябва да се определи.


Функцията feof()
Можете да използвате функцията feof(), за да определите дали цялото съдържание на зададения файл е било обработено и дали текущата позиция е в края на файла. Функцията връща стойност True, ако файловият манипулатор в момента сочи в края на файла, и стойност False, ако не е достигнат края на файла.

Функцията feof() приема като аргумент манипулатор на файл, както е показано в следващия синтаксис

int feof(int файлов_манипулатор);


Функциите fgetc() и fgets()
Функцията fread() връща низ с определена дължина от текущата позиция във файла. Но как можете да прочетете един символ? Можете лесно да накарате функцията fread() да прочете един символ, като зададете желаната позиция и дължина 1. Но PHP ви предоставя по-лесен начин да направите това! За целта използвайте функцията fgetc(). Тази функция взема един символ от текущата позиция във файла. Синтаксисът на функцията fgetc() е:

string fgetc(int файлов_манипулатор);

Функцията fgets() връща ред (низ) от текущата позиция във файла. За разлика от функцията fread(), дължината на низа върнат от функцията fgets(), е с единица по-малко от зададената като аргумент. Синтаксисът на функцията fgets() е:

string fgets(int файлов_манипулатор int дължина);

Операцията по четене се прекратява при едно от следващите условия:

Прочетени са дължината -1 байта
Достигнат е символа за нов ред - n
Достигнат е края на файла

Разгледайте следния код, който демонстрира използването на функциите:
<?php

$file = "data1.dat";
// Отваряне на файла data1.dat

$fo = @fopen($file, "r")
or die ("Не може да се намери файла!");

// Намиране размера на файла - data1.dat
$file_length = filesize($file);
echo "Дължината на файла е : $file_length", "n";

// Прочитане на файла ред по ред. При всяко срещане на края на ред,
// променливата $total_rows се увеличава с 1
while (!(feof($fo)))
{
$tr = fgets($fo, $file_length);
$total_rows = $total_rows + 1;
}
echo "Броят на редовете във файла е: $total_rows ", "n";

// Затваряне на файла data1.dat за да може да се извърши следващия цикъл
fcolse($fo);

// Повторно отваряне на файла data1.dat и текущата позиция е в началото на файла.
$fo1 = @fopen($file, "r");

// Прочитане на файла символ по символ. При всяко срещане на символ,
// променливата $total_rows се увеличава с 1
while (!(feof($fo)))
{
$tr = fgetc($fo1);
$total_rows = $total_rows + 1;
}
echo "Броят на символите във файла е: $total_rows ", "n";

?>


Страници: «1 2 3 »

Сподели урока:



Регистрирайте се, за да добавите коментар


Калдейта Ком ЕООД - © 2003-. Всички права запазени.
Препоръчваме: IT Новини