Затваряне на файл
За да затворите файл, трябва да
използвате функцията 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); |
| <?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"; ?> |