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

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

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

Ако преди това сте работили с други езици за програмиране, като С или С++, може би си спомняте, че работата с файлове може да се раздели на следните етапи:

Отваряне на файл. Зададения файл се отваря. Ако файла не съществува той се създава.
Обработка на файла. След като файла е бил отворен, той е готов за обработка. Може да четете данните от файла, да записвате в него, като започнете отначало, или да добавите новите данни към вече съществуващите.
Затваряне на файл. След като сте свършили работата си с файла, трябва да го затворите

PHP предлага множество функции за работа с файлове, които можете да използвате, за да запишете данни от Web страница във файл, да извлечете данните от файл в Web страница или просто да промените или да добавите данни от вашата Web страница във файл. Някой от най често използваните файлови операции са:

Проверка за съществуването на файл
Отваряне на файл
Четене от файл
Запис във файл

Нека да разгледаме тези операции подробно

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

bool file_exists(string име_на_файл);

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

Разгледайте следния код за да разберете как се използва функцията file_exists().

<?php

if (!(file_exists("data.dat"))) {
echo "Файлът съществува"
}
else {
echo "Файлът не съществува"
}

?>

В горния код наличието на файла data.dat се проверява с реда if (!(file_exists("data.dat"))). Както си спомняте от предишните уроци, операторът ! обръща резултатът върнат от извикването file_exists("data.dat").


Отваряне на файл
За да отворите файл в PHP трябва да използвате функцията fopen(). Тази функция може да отвори или файл или URL адрес. Оттук следва, че файлът може да бъде както локален, така и отдалечен. Функцията fopen() извиква поне два аргумента. Синтаксисът на функцията fopen() е следният:

int fopen(string име_на_файл, string режим, int път);

В горния синтаксис аргумента име_на_файл задава името на файла, който трябва да се отвори. Ако стойността на аргумента име_на_файл започва с http://, тогава означава, че файлът се намира на отдалечен Web сървар и за да се отвори файлът трябва да се установи HTTP 1.0 сесия със зададения сървър. Аналогично, ако аргументът име_на_файл започва с FTP:// , зададения файл трябва да се свали от FTP сървър след постановяването на FTP сесия със зададения сървър. Ако стойността на аргумента име_на_файл започва с php://stdin, php://stdout или с php://stderr, се отваря съответния стандартен входно изходен поток. Обаче, ако стойността на аргумента не започва с никой от тези префикси, се приема, че зададения файл е локален , и PHP го търси във файловата система на текущия компютър.

Вторият аргумент mode(режим) задава, дали файлът се отваря за четене , за запис или за добавяне. Аргументът режим, може да приема една от следните стойности:

r Файлът се отваря само за четене

r+ Файлът се отваря за четене и запис, текущата позиция е началото на файла

w Файлът се отваря само за запис. Ако в него е имало някакви данни, те ще бъдат загубени.
Ако файлът не съществува, се създава нов файл.

w+ Файлът се птваря за четене и запис. Ако в него е имало някакви данни, те ще бъдат загубени.
Ако файлът не съществува, се създава нов файл.

а Файлът се отваря за добавяне на данни към към съществуващите в него. Ако файлът не съществува
се създава нов файл.

а+ Файлът се отваря за четене и за добавяне на данни. Ако файлът съдържа данни, новите данни
ще се запишат в края му. Ако файлът не съществува, се създава нов файл.

Третият аргумент include_pat (път) не е задължителен и се използва ако искате да търсите файла в пътя, зададен от този аргумент.

Следващият код демонстрира използването на функцията fopen().
<?php

if (!(file_exists("data.dat"))) {
$fp = fopen("data.dat","w+");
}
else {
// Ако файлът съществува, данните ще се добавят
$fp = fopen("data.dat","a");
}

?>

В горния код първо се прави проверка за съществуването на файла data.dat Ако файлът не съществува, се създава нов файл с име data.dat чрез режима w+. Това означава, че файлът е готов, както за четене, така и за запис. От друга страна, ако изразът if (file_exist("data.dat")) върне стойност True ( тоест ако файлът data.dat съществува), файлът се отваря за добавяне на данни към него.

Можете да използвате знака @ пред функцията fopen(), както и пред всяка друга системна функция в PHP - например, @fopen("data.dat"),"w+");. Използването на символа @ в началото на функцията ще ви помогне да избегнете стандартните предупреждения на компилатора. Обаче трябва да се погрижите за предоставянето на собствени ( при изпълнението на програмиста ) съобщения за грешки, в случай, че функцията не успее да свърши задачата си.


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

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


Калдейта ЕООД - © 2003-2010. Всички права запазени.
Препоръчваме: Национален Бизнес | Bomba.bg | IT Новини | Диплома.бг | TRAVEL туризъм | Реферати | AmAm.bg | Иде.ли | Курсови работи | Фото Форум | Spodeli.net | Фото-Култ | Atol.bg | Elmaz.com | MobileBulgaria.com | Казанлък.Com