/ / Php Darbs ar failiem un katalogiem

PHP Darbs ar failiem un katalogiem

Datu bāzes MySQL un Access arvien vairāk kļūst parpieejamie datu uzglabāšanas līdzekļi. Bet 1990.gadu sākumā bija iecienīts strādāt ar failiem PHP, saglabājot ierakstus formatētos teksta failos CSV formātā, atdalot jaunas rindiņas.

Darba pamatprincipi

Datu bāzes ir ērti, taču katram izstrādātājam tas ir vajadzīgsvismaz ir dažas pamatzināšanas par to, kā lasīt un rakstīt failus. Varbūt daudzi domās par jautājumu: "Kāpēc man tas jāzina?" Ja es izmantoju failus, tie ir rakstīti XML failos, un es tikai izmantoju analizatoru. "

Mācīšanās php

Tātad, šeit ir daži iemesli, kāpēc jums var būt vajadzīgi faili:

  1. Lai pārvietotu binārus datus (piemēram, attēlu failus) uz BLOB datu bāzi (bināri lielie objekti).
  2. Importēt datus (piemēram, e-pasta adreses), ko eksportē no novecojušās datubāzes vai lietojumprogrammas.
  3. Eksportēt no datubāzes informāciju uz teksta failu bezsaistes apstrādei.

Failu lasīšana un rakstīšana ir pamatdarbības.Ja vēlaties lasīt dokumentu, vispirms to jāatver. Pēc tam lasiet pēc iespējas vairāk satura, pēc tam aizveriet failu. Lai rakstītu informāciju dokumentā, vispirms to jāatlasa (vai, iespējams, izveidojiet to, ja tas vēl nav izveidots). Pēc tam ierakstiet vajadzīgos datus un aizveriet to beigās.

Ir arī ērti izmantot iebūvētās funkcijas, kuras automātiski tiek atvērtas un aizvērtas. Tie ir pieejami PHP5. Jums vajadzētu arī iepazīties ar failu atribūtiem, tas ir, ar tā īpašībām.

Viņi var pateikt:

  • par lielumu;
  • sniegt informāciju par to, kad pēdējo reizi viņš tika uzrunāts;
  • pastāstīt par īpašnieku utt.

Vislabāk ir iemācīties visus pamata atribūtus darbam ar failiem PHP. Tas ievērojami atvieglos darbu.

Failu vēsture

Jums var būt jāzina pēdējās faila rediģēšanas laiks. Šajā gadījumā funkcijas nonāk glābšanā: fileatime (), filemtime () un filectime ().

Programmēšana ar php
 ";
echo $ fails. "bija pēdējā i-node maiņa". datums ($ formatDate, $ timeM). "." 
"; echo $ fails. "ir mainīts." datums ($ formatDate, $ timeC). "."; ";

Šeit kods izgūst pēdējās piekļuves laika zīmi un parāda to:

  • C: Windowsfile.ini tika skatīts 2007. gada 19. septembrī, plkst. 16:34.
  • C: Windowsfile.ini tika mainīts piektdiena 8 oktobris, 2018 2:03.
  • C: Windowsfil.ini tika mainīts otrdien, 16.decembrī, 2017 4:34.

Funkcija filectime () rāda laiku, kad tiek mainīta dažāda ar failu saistītā informācija (piemēram, piekļuves tiesības) un filemtime () - maina pašu failu.

Datuma () funkcija tika izmantota, lai formatētu Unix laika zīmi, kas atgriezts ar faila * time () funkcijām.

Vai failu vai ne?

Lai noskaidrotu, vai tas patiešām darbojas ar failiem PHP, varat izmantot is_file () funkciju vai is_dir (), lai pārbaudītu, vai tas ir direktorijs.

Piemērs kods izejas:

  • C: Windowsfile.ini fails.
  • C: Windowsfile.ini nav direktorija.

Tādējādi jūs varat izvairīties no kļūdām un kļūdaini neatklāt "ne failu". PHP programmā ir līdzīgs darbs ar failiem un direktorijām.

Failu atļaujas

Pirms strādājat ar failu, varat pārbaudīt, vai tas ir lasāms vai rakstāms. Lai to izdarītu, izmantojiet funkcijas is_writable () un is_readable ().

Šīs funkcijas atgriež Boolean vērtību un paskaidro, vai darbību var veikt failā.

Kods ekrānā parāda šādas vērtības:

  • C: Windowsfile.ini tiek lasīts.
  • C: Windowsfile.ini nav rakstīts.

Trīskāršā operatora izmantošana ļauj norādīt, vai fails ir pieejams.

Faila lielums

Lai noskaidrotu faila lielumu, jums jāizmanto funkcija fileize (). Tas tiks parādīts baitos.

Darbs ar php

Funkcija parādīs sekojošo:

  • C: Windowsfile.ini izmērs ir 510 baiti.

Šeit izmantojiet failu Windows sistēmāuzsver vienu nianšu. Backslash ir īpaša nozīme kā izejas raksturs. Tas būs jāizvairās, pievienojot vēl vienu slīpsvītru.

Ja fails vēl nav izveidots, funkcija fileize () norāda uz nepatiesu un kļūdu. Tāpēc vispirms pārbaudiet failu, lai izveidotu nepieciešamo komandu file_exists ().

Fails file_exists () visticamāk jāpārbauda drošībai.

Lasīšanas faili

Iepriekšējā sadaļa parāda, cik daudz jūs varat darītUzziniet par failiem, ar kuriem jūs strādājat, pirms sākat lasīt vai rakstīt viņus. Tagad varat izjaukt, kā tiek izlasīts faila saturs.

Darbs php ar ini failiem

Funkcijas darbam ar PHP failiem padara uzdevumu vieglāku.Šajā gadījumā jums ir nepieciešams file_get_contents (). Tas izlasīs visu faila saturu mainīgā bez nepieciešamības pašam atvērt vai aizvērt failu. Tas ir ērti, ja rakstīšanas apjoms ir salīdzinoši neliels, jo tūlīt PHP 1 gigaba datu lasīšana arhīvā nav vienmēr racionāla. Darbs ar ".ini" failiem un failu_get_contents () tiek parādīts zemāk.

Lieliem failiem vai vienkārši atkarībā noJūsu skripta vajadzībām tas var būt saprātīgāk apstrādāt detaļas pats. Tas ir saistīts ar faktu, ka, tiklīdz fails tiek atvērts, jūs varat meklēt konkrētu komentāru tajā un lasīt tik daudz datu, cik vēlaties. Fopen () funkcija tiek izmantota, lai atvērtu failu.

Lai strādātu ar fopen (), jums vajadzīgi divi argumenti:

  • atvērt failu;
  • Šajā gadījumā izmantotais režīms ir "r" lasīšanai.

Funkcija atgriež deskriptoru vai straumi failam, kas tiek saglabāts mainīgajā $ file1. Tas jālieto visos turpmākajos komandos, strādājot ar failu.

Visizplatītākās režīma vērtības
Režīms Jēga Kursora pozīcija Ja fails nepastāv?
p lasīt tikai faila sākums sniegs kļūdu
in tikai ierakstīt faila sākums izveidot jaunu
a tikai ierakstīt faila beigas izveidot jaunu

Lai nolasītu no atvērtā faila vienu rindiņu vienlaikus, varat izmantot funkciju fgets ().

Labs ir labs darbs ar vienlaiduizvēle, lai uzzinātu, cik daudz rindiņu ir failā. Funkcijas feof () pārbauda, ​​vai pabeigšanas fails ir sasniedzis, un cilpa turpinās līdz faila stāvokļa beigām. Pēc lasīšanas beigām fclose () funkcija tiek izmantota dokumenta aizvēršanai.

Failu rakstīšana

Divi bieži izmantoti režīmi, rakstot uz failu arizmantojot funkciju fwrite (): "w" un "a". "W" nozīmē to, ko vēlaties rakstīt dokumentā, bet vispirms izdzēsīs jebkuru saturu, "a" - pievienojot jaunus datus tam, kas jau pastāv failā. Jums ir jāpārliecinās, ka tiek izmantota pareizā versija.

Darbs ar php un ini failiem

Šajā piemērā tiks izmantots raksts "a" režīms.

Pirmkārt, faila nosaukums tiek piešķirts mainīgajam, pēc tamtas tiek atvērts "a" režīmā, lai to pievienotu. Parādāmie dati tiek piešķirti $ output un fwrite (), un informācija tiek pievienota failam. Process tiek atkārtots, lai pievienotu vēl vienu rindu, pēc tam dokuments tiek aizvērts, izmantojot fclose ().

Iepriekš definētā PHP_EOL konstante pievieno platformai raksturīgu jaunu līniju rakstzīmi, kurā PHP darbojas ar teksta failiem.

Faila saturs pēc iepriekš minētā koda izpildīšanas izskatās šādi:

  • banāns;
  • Ķīna.

Var arī izmantot failu_put_contents () funkcijurakstīt failā. Tajā tiek parādīts faila nosaukums, dati, kas jāraksta, un konstante FILE_APPEND, ja tai vajadzētu pievienot datus (pēc noklusējuma tā tiks pārrakstīts faila saturs).

Šeit ir tāds pats piemērs kā iepriekš, bet šoreiz, izmantojot failu_put_contents ().

Ar šīm funkcijām jums bieži jādarbojas, tāpēc labāk to atcerēties. Turklāt dažkārt tie var strādāt ar PHP failiem, lai atvieglotu dažus sarežģītus uzdevumus.

Patīk:
0
© 2018, "Paultorner-Mitchell.com". Vietnē izvietoto materiālu izmantošana ir atļauta ar norādi "Paultnerer-Mitchell.com".
yup