/ / Пхп. Рад са датотекама и именицима

ПХП. Рад са датотекама и именицима

Базе података МиСКЛ и Аццесс све више постајујавно доступни за складиштење значи. Али, у раним 1990-их био популаран рад са датотекама у ПХП, очување записа у форматирани текст фајл ЦСВ формату, одвојене новим линијама.

Основни принципи рада

Базе података су згодне, али сваки програмер требабар имају нека основна знања о томе како читати и писати датотеке. Можда ће се многи одразити на питање: "Зашто то треба да знам?" Ако користим датотеке, они су написани у КСМЛ-у, а ја само користим парсер. "

Леарнинг пхп

Ево неколико разлога зашто вам требају датотеке:

  1. За премјештање бинарних података (на примјер, датотека слика) у БЛОБ базу података (бинарни велики објекти).
  2. Увоз података (нпр. Адресе е-поште) извезене из застареле базе података или апликације.
  3. Извоз података из базе података у текстуалну датотеку за оффлине обраду.

Читање датотека и писање су основне операције.Ако желите да прочитате документ, прво морате да га отворите. После тога прочитајте што је више садржаја, а затим затворите датотеку. Да бисте писали информације у документ, морате прво отворити (или, можда, створити га ако није већ креиран). Након тога, забележите потребне податке и затворите на крају.

Такође је згодно користити уграђене функције које се аутоматски отварају и затварају. Доступни су у ПХП-у 5. Требали би се упознати и са атрибутима датотека, односно његовим својствима.

Они могу рећи:

  • о величини;
  • дати информације о томе када је последњи пут био приђен;
  • причајте о власнику итд.

Најбоље је научити све основне атрибуте за рад са датотекама у ПХП-у. Ово ће у великој мери олакшати рад.

Историја фајла

Можда ћете морати знати вријеме задње измене датотеке. У овом случају функције спадају у спашавање: филеатиме (), филемтиме () и филецтиме ().

ПХП програмирање
<?пхп $ форматДате = "Д д М И г: и А"; $ тимеА = време датотеке ($ датотека); $ тимеМ = филемтиме ($ датотека); $ тимеЦ = филецтиме ($ датотека);  ецхо $ фајл. „прегледано“. датум ($ форматДате, $ тимеА). ". <бр>"; ецхо $ фајл. „имао последњу промену и-чвора“. датум ($ форматДате, $ тимеМ). ". <бр>"; ецхо $ фајл. " био је промењен " . датум ($ форматДате, $ тимеЦ). ".";

Ево кода који преузима последњу временску ознаку приступа и приказује је:

  • Ц: Виндовсфиле.ини је прегледан 19. септембра 2018. у 16:34.
  • Ц: Виндовсфиле.ини је измењен пет, 8. октобра 2018. у 2:03.
  • Ц: Виндовсфил.ини је измењен у уторак, 16. децембра 2017. у 4:34.

Функција филецтиме () показује време промене различитих информација повезаних са датотеком (на пример, права приступа), а филемтиме () показује промену саме датотеке.

Дате () функција је коришћена за форматирање Уник временске ознаке коју враћају функције датотеке * тиме ().

Датотека или не?

Да бисте сазнали да ли ПХП заиста ради са датотекама, можете користити функцију ис_филе () или функцију ис_дир () да бисте проверили да ли је то директоријум.

<?пхп ецхо $ фајл. (ис_филе ($ датотека)? "": "не"). "филе. <бр>"; ецхо $ фајл. (ис_дир ($ датотека)? "": "не"). "именик.";

Пример излазног кода:

  • Ц: Виндовсфиле.ини датотека.
  • Ц: Виндовсфиле.ини није директоријум.

На тај начин можете избећи грешке и не отварати „није датотеку“ немаром. У ПХП-у, рад са датотекама и директоријумима је сличан.

Дозволе за фајлове

Пре него што почнете да радите на датотеци, можете да проверите да ли је читљива или писана. Да бисте то урадили, потребно је да користите функције ис_вритабле () и ис_реадабле ().

<?пхп ецхо $ фајл. (ис_реадабле ($ датотека)? "": "не"). "читај. <бр>"; ецхо $ фајл. (ис_вритабле ($ датотека)? "": "не"). "пише се.";

Ове функције враћају логичку вредност и објашњавају да ли се операција може извршити на датотеци.

Код ће исписати следеће вредности на екран:

  • Ц: Виндовсфиле.ини се чита.
  • Ц: Виндовсфиле.ини се не пише.

Користећи тернарни оператор, можете назначити да ли је датотека доступна или не.

величина фајла

Да бисте сазнали величину датотеке, користите функцију величине датотеке (). Биће приказано у бајтовима.

<?пхп $ филе = "Ц: Виндовсфиле.ини"; $ сизе = величина датотеке ($ датотека); ецхо $ фајл. „има величину“. $ сизе. "бајт.";
Рад са пхп-ом

Функција ће приказати следеће:

  • Ц: Виндовсфиле.ини је величине 510 бајтова.

Овде користите датотеку на Виндовс системунаглашава једну нијансу. Обратна коса црта има посебно значење као излазни знак. Ово ће морати да се избегне додавањем још једне обрнуте косе црте.

Ако датотека још није креирана, функција величине датотеке () ће означити Фалсе и грешку. Због тога се прво проверава да ли постоји потребна наредба филе_екистс ().

<?пхп $ филе = "Ц: Виндовсфиле.ини"; иф (филе_екистс ($ фајл)) {$ сизе = филе сизе ($ филе); ецхо $ фајл. „има величину“. $ сизе. "бите.";} елсе {ецхо $ филе. " Фајл није пронађен.";}

Провера филе_екистс () би скоро увек требало да буде укључена ради безбедности.

Читање датотека

Претходни одељак показује колико можетесазнајте више о датотекама са којима радите пре него што их прочитате или пишете. Сада можете анализирати како се чита садржај датотеке.

Рад у пхп-у са ини датотекама

Функције за рад са ПХП датотекама олакшавају задатак.У овом случају, потребан вам је филе_гет_цонтентс (). Читаће цео садржај датотеке у променљиву без потребе да отвара или затвара саму датотеку. Ово је згодно када је обим снимања релативно мали, пошто у ПХП-у није увек рационално да се одмах прочита 1 ГБ података у архиву. Рад са ".ини" датотекама и функцијом филе_гет_цонтентс () приказан је испод.

<?пхп $ филе = "ц: виндовсфиле.ини"; $ филе1 = филе_гет_цонтентс ($ датотека); ецхо $ филе1;

За велике датотеке или само у зависности одпотребе вашег скрипта, можда би било мудрије да сами обрадите детаље. То је зато што када се датотека отвори, можете потражити одређену белешку у њој и прочитати онолико података колико желите. Функција фопен () се користи за отварање датотеке.

<?пхп $ филе = "ц: виндовсфиле.ини"; $ филе1 = фопен ($ датотека, "р");

Функција фопен () захтева два аргумента:

  • фајл за отварање;
  • режим који се користи у овом случају је "р" за читање.

Функција враћа ручицу или ток датотеци, која се чува у променљивој $ филе1. Мора се користити у свим наредним командама када радите са датотеком.

Најчешће вредности режима
Режим Значење Положај курсора Ако датотека не постоји?
р само читање почетак датотеке ће дати грешку
в само писати почетак датотеке створиће нову
али само писати крај датотеке створиће нову

Функција фгетс () се може користити за читање из отворене датотеке ред по ред.

<?пхп $ филе = "ц: виндовсфиле.ини"; $ филе1 = фопен ($ датотека, "р"); уради {ецхо фгетс ($ филе1). "<бр>";} вхиле (! феоф ($ филе1)); фцлосе ($ филе1);

Коришћење до-вхиле-петље је доброизбор да се унапред зна колико је редова у датотеци. Функција феоф () проверава да ли је датотека достигла завршетак, а петља се наставља све док се не достигне крај услова датотеке. Након што је читање завршено, функција фцлосе () се користи за затварање документа.

Снимање датотеке

Два најчешће коришћена режима приликом писања у датотеку сакористећи функцију фврите (): "в" и "а". "В" значи да треба да пишете у документ, али ће прво избрисати било који садржај, "а" - додавање нових података ономе што већ постоји у датотеци. Обавезно користите исправну опцију.

Рад са пхп и ини датотекама

Следећи пример ће користити режим "а" за снимање.

<?пхп $ миФиле = "филес.ткт"; $ филе1 = фопен ($ миФиле, "а"); $ оутпут = "банана". ПХП_ЕОЛ;фврите ($ филе1, $ оутпут); $ оутпут = "Кина". ПХП_ЕОЛ; фврите ($ филе1, $ оутпут); фцлосе ($ филе1);

Прво, име датотеке се додељује променљивој, а затимотвара се у режиму "а" за додавање. Подаци који се уписују се додељују променљивој $ оутпут и фврите (), а информације се додају датотеци. Процес се понавља да би се додао још један ред, а затим се документ затвара помоћу фцлосе ().

Унапред дефинисана константа ПХП_ЕОЛ додаје карактер новог реда специфичан за платформу на којој ПХП ради са текстуалним датотекама.

Садржај датотеке након извршавања горњег кода треба да изгледа овако:

  • банана;
  • Кина

Функција Филе_пут_цонтентс () такође можеписати у датотеку. Потребно је име датотеке, подаци за писање и константа ФИЛЕ_АППЕНД ако треба да дода податке (замениће подразумевани садржај датотеке).

Ево истог примера као горе, али овај пут користећи филе_пут_цонтентс ().

<?пхп $ миФиле = "филес.ткт"; филе_пут_цонтентс ($ миФиле, "банана". ПХП_ЕОЛ); филе_пут_цонтентс ($ миФиле, "Кина". ПХП_ЕОЛ, ФИЛЕ_АППЕНД);

Морате често да радите са овим функцијама, па је најбоље да их запамтите. Поред тога, можда ће једног дана олакшати неке сложене задатке када радите са ПХП датотекама.

Ликед:
0
Популарне поруке
Духовни развој
Храна
иуп