Sākums / Spēļu konsoles / Kā lasīt php failu. Php failu izveide, lasīšana un rakstīšana. Noderīgi PHP papildinājumi un funkcijas darbam ar atvērtu failu

Kā lasīt php failu. Php failu izveide, lasīšana un rakstīšana. Noderīgi PHP papildinājumi un funkcijas darbam ar atvērtu failu

PHP parādījās daudz vēlāk, nekā programmēšanas valodas nostiprināja savas pozīcijas un formulēja vispārīgas idejas par sintaksi, loģiku, mainīgajiem un citiem programmas objektiem. Faili un funkcijas darbam ar tiem nesniedza panākumus, un pat failu kodēšanas problēma, kas radās dabisku iemeslu dēļ, neradīja radikāli jaunus risinājumus.

Vispārīgas piezīmes

Galvenais darbs ar failiem, lai kādi tie būtu, sastāv no atvēršanas, lasīšanas/rakstīšanas un aizvēršanas. Var izmantot piekļuves bloķēšanas/atbloķēšanas funkcijas failam, kamēr tas tiek apstrādāts, var iestatīt lasīšanas/rakstīšanas pozīciju failā - viss ir tāpat kā iepriekš, tālā pagātnē.

Svarīgs PHP punkts ir funkciju pārpilnība darbam ar failiem un to izmantošanas iespējas. Praksē pietiek ar vienkāršu, bet strādājošu iespēju izmantošanu. Fails, pirmkārt, ir programmas atmiņa. Tajā varat saglabāt informāciju. Jebkuras programmas mērķis, jebkuras tīmekļa vietnes mērķis ir prezentēt, apstrādāt un nodrošināt informācijas drošību.

Būtisks apstāklis

Iepriekš prasība pēc saderības vismaz no apakšas uz augšu bija nesatricināma. Tas ir, programma, kas reiz rakstīta vienā programmēšanas valodas versijā, ideālā gadījumā tiek kompilēta/interpretēta nākamajā versijā. Mūsdienu programmēšanā tas tā nav. Prasība pēc valodas sintaktisko struktūru savietojamības ir kļuvusi par vēstures lietu, un cīņa starp stiliem un programmēšanas rīkiem un atsevišķu rīku versijām ir kļuvusi par viņu dzīves normu.

Darbs ar failiem, kā arī ar datu bāzēm ir tikpat svarīgs kā vietnes saskarne. Pirmajam jābūt veidotam tā, lai, mainot platformu, hostingu vai valodas versiju, nebūtu jāmaina vietnes kods. Interfeiss darbam ar failiem ir jāiekļauj atsevišķā skriptā un jānodrošina pilnīga savietojamība, tāpat kā vietnes dizainam ir adekvāti jāpielāgojas jebkurai ierīcei, pārlūkprogrammai un jānodrošina pārējā vietnes funkcionalitāte ar tādām pašām iespējām.

Lasiet un mainiet sevi

Vai programma var mainīties pati, tas ir, vai skripts var uzlaboties? Līdz šai dienai šis jautājums interesē daudzus. Bet uzdevums izklausās daudz praktiskāks: PHP lasīšana PHP fails. Izstrādātājs ne vienmēr var atrisināt konkrētu problēmu, rakstot konkrētu kodu. Dažreiz tas ir jāmaina, kad apmeklētājs ierodas vietnē un formulē jautājumu, kas nebija paredzēts izstrādes stadijā.

Tāpat kā visos citos gadījumos, vispirms ir jāatver fails. Nav nozīmes tam, vai šis fails pastāv vai ne. Ja ir zināms, ka fails eksistē (funkcija file_exists() sniedz pozitīvu atbildi), funkcija fopen() tiek izmantota ar piekļuvi 'r', 'r+', 'a', 'a+'. Ja fails vēl neeksistē, tad ar piekļuvi ‘a’, ‘a+’, ‘w’, ‘w+’. Faila atvēršanas rezultāts būs tā deskriptors. Fails tiek aizvērts ar funkciju fclose().

Ir ērti izmantot PHP, lai nolasītu failu masīvā, ja lasīšanas laikā tas nav jāapstrādā.

if (file_exists($fName)) (

$aLines = fails($fName)

Izmantojot šo opciju, katra faila rinda secīgi nonāk masīva elementā. Jāņem vērā, ka faila() vai file_get_contents() funkcijām fails nav jāatver un jāaizver.

Ja ievades fails ir pārāk liels un jums ir jāatrod tikai nedaudz informācijas vai citu iemeslu dēļ, varat izmantot PHP, lai lasītu failu rindiņu pa rindiņai. PHP nodrošina iespēju to izdarīt ar fgets() un fgetc() funkcijām.

$fvs = fopen($fName, "r")

while ((false !== ($cLine = fgets($fvs, 2000)))) (

$cLines .= "
" . $i . "). $cLine

Abas iespējas darbojas nevainojami. Tomēr, veicot PHP faila lasīšanu vēlākai modificēšanai, ir jāievēro piesardzības pasākumi. Vietnes izstrādes stadijā ne vienmēr ir iespējams paredzēt, kā apmeklētājs to izmantos. Labāk, ja skripti tiek mainīti vietnes funkcijās, un apmeklētājs, tostarp resursa administrators, nevar kontrolēt šīs izmaiņas.

Rezultātu saglabāšana

Saņemto un atjaunināto informāciju failā ieraksta funkcija fputs() rindiņu pa rindiņai vai funkcija file_put_contents() kopumā.

$fName = $_SERVER["DOCUMENT_ROOT"] . "/tmp/scData.php"

$fvs = fopen($fName, "a")

ganāmpulks ($fvs, LOCK_EX)

$cLine = "1 rinda". chr (10)

fputs ($fvs, $cLine)

$cLine = "2 rindas" . chr (10)

fputs ($fvs, $cLine)

ganāmpulks ($fvs, LOCK_UN)

Ierakstīšanas opcijā rinda pēc rindas varat manipulēt ar datiem ierakstīšanas procesā, otrajā gadījumā ierakstītā virkne vai masīvs tiek ievietots visā failā.

$file = " scData.php "

$cContents = file_get_contents($file)

// ieraksta pievienošana

$cContents .= "jauns ieraksts\n"

// ierakstiet failu atpakaļ

file_put_contents($file, $cContents)

PHP failu lasīšana un rakstīšana ir vienkārša un dabiska. Tomēr ir svarīgi paturēt prātā: katram failam ir nosaukums, paplašinājums un ceļš (mape). Lai PHP skripts varētu lasīt un rakstīt failus, šim skriptam ir jābūt atbilstošām tiesībām. Tie tiek automātiski parādīti mitināšanā, taču dažos gadījumos tie ir jāpaplašina.

Dažos gadījumos var būt vēlams pārbaudīt rezultātus, veicot testa nolasīšanu. Lai rakstītu PHP failus, tas ir nepieciešams izstrādes laikā, taču dažos gadījumos vietnes drošības vai uzticamības interesēs ir svarīgi pārbaudīt datu ierakstu.

Raksturīga PHP, MySQL, JavaScript un jo īpaši pārlūkprogrammu iezīme: klusi ļaujot notikt dažām kļūdām. “Nav atpazīts, nav izdarīts...” - ne pārāk laba frontes prakse informācijas tehnoloģijas, bet tas iemāca izstrādātājiem nekļūdīties un rakstīt tīru, kvalitatīvu kodu, kas arī nav slikti.

PHP un darbs ar reāliem dokumentiem

PHP lasīšana PHP failā noteikti ir praktiska interese, taču tā ir programmēšanas joma. Lietotāju un vietnes apmeklētāju interesē lietišķa rakstura informācija, kuru viņš ir pieradis redzēt tabulu un dokumentu veidā, it īpaši *.xlsx un * formātos. docx failus. Tie ir faili MS Excel un MS Word formātā.

Preču saraksti, cenas, raksturlielumi parasti tiek veidoti tabulu veidā, tāpēc PHP lasīšana Excel fails ir būtiska nozīme.

PHPExcel un PHPWord bibliotēkas ir izstrādātas darbam ar šādiem failiem. Tomēr *.xlsx un *.docx failu saturs tiek parādīts OOXML standartā, tas ir, īstais, saprotamais dokuments tiek parādīts zip arhīvā. Zip arhīvs ir failu kopums, tostarp attēli, objekti, formulas un ieliktņi no citām programmām. Teksta faili šeit ir attēloti ar aprakstiem tagu veidā. Nepietiek ar šāda faila lasīšanu, lai iegūtu saturu un struktūru lietošanai un modificēšanai.

Tas nozīmē, ka lasīšanas darbība pārvēršas par arhīva atvēršanas procedūru. Šīs bibliotēkas neatkarīgi atver dokumentu arhīvu un nodrošina izstrādātājam plašas funkcijas šādu dokumentu lasīšanai, apstrādei un rakstīšanai.

Excel tabulas

include_once 'PhpOffice/PhpExcel/IOFactory.php'

funkcija scGetExcelFile($xls)(

$objPHPExcel = PHPExcel_IOFActory::load($xls)

$objPHPExcel->setActiveSheetIndex(0)

//šajā masīvā ir virkņu masīvi

$aSheet = $objPHPExcel->getActiveSheet()

$masīvs = masīvs()

//apstrāde

foreach($aSheet->getRowIterator() kā $row)(

$cellIterator = $rinda->getCellIterator()

foreach($cellIterator kā $cell)(

array_push($item, iconv("utf-8", "cp1251", $cell->getCalculatedValue()))

masīvs_push($masīvs, $vienums)

Excel failu lasīšana un apstrāde ir daudz grūtāk apstrādājama Word dokumenti. Labākais risinājums, ja nepieciešams īstenot nopietnu projektu lietišķās informācijas lasīšanai un apstrādei, ir vispirms apgūt PHPWord bibliotēku. Tas sniegs jums labu pieredzi un ātru izpratni par problēmas specifiku.

Word dokumenti

Tikai divas rindas:

$oWord = jauns \PhpOffice\PhpWord\PhpWord()

$oDocx = $this->oWord->loadTemplate($cFileName)

Dokuments $cFileName tagad ir pieejams apstrādei. Tālāk tiek atvērts arhīvs, atlasīts un analizēts tā saturs, ko var attēlot vietnē, mainīt un atrakstīt atpakaļ.

$zipClass = jauns ZipArhīvs()

$zipClass->open($this->tempFileName)

// lasīt visu dokumenta saturu

priekš ($i=0; $i<$zipClass->numFiles; $i++) (

$cNameIn = $zipClass->getNameIndex($i)

$cNameInExt = substr($cNameIn, -4)

if (($cNameInExt == ".xml") || ($cNameInExt == "rels")) (

// faili ar paplašinājumiem ".xml" un ".xml.rels" tiek saglabāti dokumentu tabulā

// katra xml rinda ir rakstīta ar unikālu numuru secībā

$cBodyIn = $zipClass->getFromName($cNameIn)

$cBodyInLen = strlen($cBodyIn)

// visi pārējie faili tiek ierakstīti dokumentu mapē, kā tas ir

$cNameOnly = substr($cNameIn, strrpos($cNameIn, "/") + 1)

$zipClass->getFromName($cNameIn, $cWorkPath); // saturs kā fails

PHP Excel un PHP Word piedāvātās iespējas ļauj manipulēt ar reāliem dokumentiem un padarīt to saturu atbilstošu jebkurā brīdī. Mūsdienu dinamiskajā pasaulē tas kļūst ļoti svarīgi. Smaguma centrs jau sen ir pārcēlies no lokālas datortehnoloģiju izmantošanas uz virtuālo interneta telpu. Tāpēc tabulu un dokumentu veidošana lokālajos Microsoft produktos ir mazāk efektīva nekā darbs ar šādiem dokumentiem automātiskā un pusautomātiskā režīmā vietnē, kas ir pieejama ne tikai tabulas vai dokumenta veidotājam, bet arī tās patērētājiem.

Teksta faili, cita dzīve

Sākotnēji teksta faili ir vienkāršāki nekā PHP faili vai lietojumprogrammu dokumenti. Tomēr šeit ir par ko padomāt. Šādu failu lasīšanas/rakstīšanas darbības jau ir norādītas iepriekš, taču daudz svarīgāka ir šādu failu nozīme.

Tā kā ir tāda dota kā klients un serveris (pirmajā dominē JavaScript, otrajā PHP), tad pat sīkfailu un sesiju mehānismi nevar tikt galā ar nepieciešamību pārsūtīt informāciju starp skriptiem, lapām un noteiktiem procesiem.

Ir iespējams atspoguļot vēlamās izmaiņas datu bāzē, taču, neskatoties uz visām priekšrocībām un ātrumu, mazie pagaidu vai pastāvīgie teksta faili var būt daudz interesantāks informācijas pārsūtīšanas variants. Ja neveidojat daudz mazu failu un nekontrolējat to lielumu, tie var būt specifiska un elastīgāka datu bāzes versija.

PHP teksta faila lasīšana ir ātra, to var nekavējoties parsēt struktūrā, masīvā vai objektā. Pēdējais ir ļoti svarīgs, jo tas ļauj izveidot objektus, kas dzīvo ārpus atvēlētā laika PHP skripts, kas, kā jūs zināt, var pastāvēt tikai serverī un tikai lapas ielādes laikā tiek ģenerēta AJAX atbilde vai cita iemesla dēļ, kas izraisa PHP tulka palaišanu.

Ja padomā par ko teksta fails- tas ir izstrādātāja saturs un struktūra, PHP fails ir tulka sintakse, kā arī izstrādātāja loģika, un “atzīmētie” apraksti html, css, xml ir vairāk semantisku elementu, bet tos regulē statiski standarti. Var secināt, ka, iespējams, ir pienācis laiks failiem iegūt jaunu saturu, un tam pašam vajadzētu noteikt to kvalitāti un lietošanas loģiku. Tieši tāpēc, ka programmēšana vēl nav gatava nākamajam attīstības posmam, faili mūsdienās paliek vienkārši faili, kurus veido izstrādātājs un nosaka to izmantošanu.

Pats interesantākais un daudzsološākais ir tad, kad PHP patstāvīgi nolasa PHP failu, kad rodas tāda nepieciešamība. Un vienkārši PHP nolasot rindiņu no faila, tiek izveidots objekts, vismaz tādā stāvoklī, kādā tas tika saglabāts. Tās nav gluži pazīstamas idejas, taču mūsdienu pasaulē viss mainās tik ātri.

JavaScript jūsu pārlūkprogrammā ir bloķēts. Lūdzu, iespējojiet JavaScript, lai vietne darbotos!

Darbs ar failiem

Failu manipulācijas ir svarīgs PHP rīks.

Ieskaitot ārējos failus

Izmantojot instrukciju, varat iekļaut failu katrā PHP dokumentā iekļaut (). Tās arguments ir ceļš uz failu. Šo instrukciju ir ērti lietot, ja daudzās PHP programmās ir identiskas koda daļas. Iekļautā faila saturs tiek apstrādāts kā vienkāršs HTML teksts. Lai šī faila saturs tiktu apstrādāts kā PHP programma, tam ir jābūt ieskautam PHP atvēršanas un aizvēršanas tagiem.

1. piemērs

Izmantojot include() ...Galvenā daļa..."; ?>

Atbalss"

...Vispārīgi sveicieni...

"

1. PIEMĒRA REZULTĀTS:

...Vispārīgi sveicieni...

...Galvenā daļa...

IN šajā gadījumā rezultāts būs tāds pats, ja iekļautajā failā top.php ir tikai HTML teksta rindiņa:

...Vispārīgi sveicieni...

Iekļautie faili var atgriezt tādas vērtības kā funkcijas. Izmantojot atgriešanas paziņojumu, šī faila izpilde tiek pārtraukta tāpat kā funkcijas.

2. piemērs

Paziņojuma include() izmantošana, kas atgriež vērtību Iekļautais fails atgrieza $res"; ?>

Iekļaut failu top.php ar PHP programmu:

2. PIEMĒRA REZULTĀTS:

Iekļautais fails atgrieza 56

Norādījumi iekļaut () var izmantot cilpas iekšpusē. Cilpā iekļaut () tiek izpildīts katrā iterācijā. To var izmantot, lai iekļautu vairākus failus. Piemēram:

For ($i=1; $i<=5; $i++) include("incfile{$i}.htm");

Iekļautā faila nosaukuma noteikšana un tā ielāde tiek atkārtota katru reizi, kad zvanāt iekļaut (). Tas nozīmē, ka, ja iekļautā faila saturs ir mainījies kopš iepriekšējā izsaukuma, tiks ielādēts jaunais saturs.

Operators iekļaut () var iekļaut arī nosacījuma paziņojuma pamattekstā.

Lai gan pēc izskata tas ir līdzīgs funkcijai, iekļaut () nav funkcija, bet gan īpaša valodas konstrukcija.

Lai norādītu, ka fails ir jāiekļauj tikai vienu reizi, tiek izmantots operators include_once().

Failu analīze

PHP satur daudzas funkcijas, kas sniedz informāciju par failiem. Visbiežāk izmantotie ir:

  • file_exists()- nosaka faila esamību. Piemēram: if (!file_exists("aaa.php")) echo "Uzmanību! Fails aaa.php nav atrasts!";
  • ir_fails()- nosaka, vai pārbaudāmais objekts ir fails. Piemēram: if (is_file("bbb.txt")) echo "Varat būt drošs, bbb.txt ir fails";
  • ir_dir()- nosaka, vai pārbaudāmais objekts ir direktorijs. Piemēram: if (is_dir("/tmp")) echo "Patiešām, /tmp ir direktorijs";
  • ir_lasāms()- nosaka, vai fails ir lasāms. Piemēram: if (is_lasāms("db.dbf")) echo "db.dbf var lasīt";
  • ir_rakstāms()- nosaka, vai fails ir rakstāms. Piemēram: if (is_writable("db.dbf")) echo "Jūs varat rakstīt db.dbf";
  • faila izmērs ()- nosaka faila lielumu baitos.
  • filemtime()- nosaka datumu un laiku, kad fails tika pēdējo reizi mainīts.
  • fileatime()- nosaka pēdējās piekļuves datumu un laiku failam.

3. piemērs

Informācija par failu "; echo "$f - ".(ir_dir($f) ? "" : "nav ")."
"; echo "$f ".(ir_lasāms($f) ? "" : "nav ")."lasāms
"; echo "$f ".(ir_writable($f) ? "" : "nav ")."
"; echo "$f lielums baitos ir ".(faila izmērs($f))."
"; echo "$f pēdējo reizi tika modificēts - ".(date("d M Y H:i", filemtime($f)))."
"; echo "pēdējais zvans uz $f - ".(date("d M Y H:i", fileatime($f)))."
"; } ?>

3. PIEMĒRA REZULTĀTS:

Top.php - fails top.php - nav direktorijs top.php ir lasāms top.php ir ierakstāms top.php lielums baitos - 732 pēdējās izmaiņas top.php - 04 Okt 2005 20:21 pēdējā piekļuve top.php - 2005. gada 20. oktobris 14:01

Uzmanību! Šīs funkcijas nedarbojas ar izdzēstiem failiem. Tos var lietot tikai vietējai failu sistēmai.

Failu pārvaldība

PHP satur daudzas failu pārvaldības funkcijas. Visbiežāk izmantotie ir:

  • pieskarties ()- izveido tukšu failu ar doto nosaukumu. Ja šāds fails jau pastāv, funkcija mainīs modifikācijas datumu. Piemēram: touch("ex1.txt");
  • kopēt ()- kopē failu. Lai kopētu failus PHP, izmantojiet funkciju kopēt ($source, $result). Tam ir jānodod tikai divi parametri - avots $source un kopijas faila nosaukums - $result. Ir vērts atzīmēt, ka jums jānorāda failu pilnas adreses. Kopēšanas funkcijas izmantošanas piemērs:

  • atsaistīt ()- dzēš norādīto failu. Piemēram:
  • fopen ()- atveras vietējā vai dzēsts fails un atgriež uz to rādītāju. Rādītājs tiek izmantots visās darbībās ar faila saturu. Argumenti: faila nosaukums un atvēršanas režīms.
    rlasīšana. Faila rādītājs ir iestatīts uz faila sākumu
    r+lasīšana un rakstīšana. Faila rādītājs ir iestatīts uz faila sākumu
    wieraksts. Faila rādītājs ir iestatīts uz faila sākumu. Viss vecais faila saturs tiek zaudēts. Ja fails ar norādīto nosaukumu neeksistē, funkcija mēģina to izveidot
    w+lasīšana un rakstīšana. Faila rādītājs ir iestatīts uz faila sākumu. Viss vecais faila saturs tiek zaudēts. Ja fails ar norādīto nosaukumu neeksistē, funkcija mēģina to izveidot
    aieraksts. Faila rādītājs ir iestatīts uz faila beigām. Ja fails ar norādīto nosaukumu neeksistē, funkcija mēģina to izveidot
    a+lasīšana un rakstīšana. Faila rādītājs ir iestatīts uz faila beigām. Ja fails ar norādīto nosaukumu neeksistē, funkcija mēģina to izveidot

    Piemēram:

    $fp = fopen ("http://www.php.net/", "r"); // lasīšanai $fp = fopen("ex1.txt", "w"); // ierakstīšanai $fp = fopen("ex2.txt", "a"); // lai pievienotu beigām

    Ja nevarat atvērt failu, varat pārtraukt programmu. Piemēram:

    $fp = fopen("ex1.txt", "w") or die("Neizdevās atvērt failu");

  • fclose()- aizver failu. Arguments: faila rādītājs, kas iepriekš saņemts no funkcijas fopen (). Piemēram: fclose($fp);
  • feof()- faila beigu pārbaude. Arguments: faila rādītājs.
  • fgetc()- nākamās rakstzīmes nolasīšana no faila. Arguments: faila rādītājs.
  • fgets()- nākamās faila rindiņas lasīšana. Argumenti: faila rādītājs un nolasāmās virknes garums. Darbība tiek pārtraukta vai nu pēc tam, kad ir nolasīts norādītais rakstzīmju skaits, vai arī pēc rindas vai faila beigas.

    4. piemērs

    Rindu lasīšana no faila "; ?>
  • fread () - vispārējā funkcija lasīšana no faila. Argumenti: faila rādītājs un lasāmo rakstzīmju skaits.
  • fseek()- atkāpe no faila sākuma. Argumenti: faila rādītājs un nobīde.

    5. piemērs

    Tiek parādīta faila otrā puse
  • fputs ()- rindas rakstīšana failā. Argumenti: faila rādītājs un virkne.
  • fwrite()- pilnīgs funkcijas analogs fputs ().

    6. piemērs

    Ierakstīšana un pievienošana failam
  • ganāmpulks ()- bloķē failu, t.i. neļauj citiem lietotājiem lasīt vai rakstīt failu, kamēr persona, kurai ir bloķēšana, nav pabeigusi darbu ar failu. Argumenti: faila rādītājs un bloķēšanas režīma numurs.

    7. piemērs

    Failu bloķēšana

    Bloķēt ar ganāmpulks () nav absolūts. To ņems vērā tikai tās programmas, kas arī izmanto šo funkciju.

PHP versijai >= 4.3.0 ir jaunas ērtas funkcijas darbam ar failiem:

  • file_get_contents()- lasīt visu failu vai URL
  • file_put_contents()- rakstīt failu

Darbs ar katalogiem

PHP ir vairākas funkcijas darbam ar direktorijiem:

  • mkdir()- kataloga izveide. Argumenti: direktorija ceļa nosaukums un piekļuves režīms. Piekļuves režīms ir trīsciparu astoņciparu skaitlis ar nulli sākumā. Pirmais numurs ir īpašnieka piekļuves tiesības, otrais ir grupai, bet trešais ir visiem pārējiem. IN Windows sistēma piekļuves režīms tiek ignorēts. UNIX sistēma definē šādas piekļuves tiesības:

    Piemēram, pareizi pilna piekļuveīpašniekam, lasiet un piedalieties grupā, kā arī palaist visiem pārējiem:

    Mkdir ("testdir", 0751);

  • rmdir()- direktorija dzēšana. Arguments: direktorija ceļa nosaukums. Tukšu direktoriju var izdzēst tikai tad, ja jums ir tiesības to darīt. Ja tas ir veiksmīgs, funkcija atgriež true.
  • opendir()- direktorija atvēršana. Arguments: direktorija ceļa nosaukums. Ja rodas kļūda, funkcija atgriež false. Kļūdu atverot var izraisīt fakts, ka direktorija neeksistē vai programmai nav atļaujas to lasīt.
  • readdir ()- direktorija lasīšana. Arguments: direktorija ceļa nosaukums. Atgriež virkni, kas satur atrastā faila vai apakšdirektorija nosaukumu. Kad tiek sasniegts direktorija beigas, funkcija atgriež false.

    8. piemērs

    Kataloga lasīšana "; ?>

    Cilpas testa izteiksme nedarbosies, kā paredzēts, ja direktorijā ir fails ar nosaukumu "0". Šajā gadījumā nosaukums "0" tiks pārveidots par 0, izraisot cilpas pārtraukšanu. No tā var izvairīties, veicot papildu drošības pasākumus, mainot pārbaudes izteiksmi:

    Gettype($f = readdir($dh)) != "būla"

    Papildus funkcijas fgetc() fgets() fgetss() izmantošanai varat izmantot
    $fails = fails($faila nosaukums). Tas nolasa $ faila nosaukums masīvā ($ fails).

    Piemērs:

    $fails=fails($faila nosaukums); priekš ($i=0; $i<=count($file); $i++) { echo $file[$i], "
    "; }

Faila pārsūtīšana no servera. Lejupielādēt failu. Lejupielādēt.

Manuāla lejupielāde jeb skripta izmantošana, lai lietotājam atvērtu failu saglabāšanas logu. Lai pārlūkprogramma atvērtu dialoglodziņu “Saglabāt failu” ar faila nosaukumu file.dat, skriptam ir jānosūta šādas galvenes:

Header("Satura izvietojums: pielikums; faila nosaukums=fails.dats"); header("Satura veids: pieteikums/x-force-download; name=\"file.dat\"");

Gatavs faila nosūtīšanas no diska piemērs:

Nenāktu par ļaunu skriptu norādīt arī kā http://.../download.php?file.dat, pretējā gadījumā pārlūkprogrammas, kuru pamatā ir Mozilla, var mēģināt rakstīt failu kā file.dat.php. vai norādiet lejupielādes atribūtu: Lejupielādēt Piezīme:Šādos skriptos neizmantojiet galveni ("Cache-Control: no-cache") vairums Internet Explorer versiju nevarēs lejupielādēt failu.

Tālāk redzamais skripta piemērs parāda kā organizēt lejupielādes atbalstu:

Tiek pieņemts, ka $cd ir faila ceļš, $fn ir faila nosaukumsKā pārsūtīt failu uz serveri?

Funkcijas darbam ar direktorijiem

  • chdir() - mainīt direktoriju
  • Būla chdir (string str)

    Maina pašreizējo PHP direktoriju uz to, kas norādīts kā parametrs str. Atgriež TRUE par panākumiem, FALSE par kļūdu

  • chroot() - mainiet saknes direktoriju
  • Būla chroot (string str)

    Maina pašreizējā procesa saknes direktoriju uz to, kas nodots kā parametrs str. Atgriež TRUE par panākumiem, FALSE par kļūdu.

    Piezīme. Šī funkcija nav ieviesta Windows platformās.

  • closedir() — atbrīvojiet direktorijas turi
  • tukšums slēgts (resursu katalogs)

    Aizver straumi, kas saistīta ar katalogu un nodota kā kataloga parametrs. Pirms šīs funkcijas izmantošanas straume ir jāatver, izmantojot funkciju opendir().

    dir - Direktoriju klase

klase dir ( dir (string str) virknes ceļš resursa rokturis virkne lasīt (void) void rewind (void) void close (void) )

Pseido-objektorientēts mehānisms direktorija parametrā nodotā ​​direktorija nolasīšanai. No direktorija atvēršanas brīža kļūst pieejami divi klases rekvizīti. Rekvizītu "handle" var izmantot kopā ar citām direktoriju manipulācijas funkcijām, piemēram, readdir(), rewinddir() un closedir() funkcijām. Rekvizīts "ceļš" satur ceļu uz atvērto direktoriju. Ir pieejamas trīs metodes: lasīšana, attīšana un aizvēršana.

Lūdzu, ņemiet vērā veidu, kādā tiek pārbaudīta dir() klases metožu atgriešanas vērtība zemāk esošajā piemērā. Šajā piemērā tiek pārbaudīta identitātes vērtība (izteiksmes ir identiskas, ja tās ir vienādas un viena veida — vairāk detalizēta informācija(skatiet nodaļu Salīdzināšanas operatori) vērtība FALSE, jo pretējā gadījumā jebkurš direktorija ieraksts, kura nosaukums var tikt izteikts kā FALSE, apturēs cilpu.

Koda paraugs:

rokturis."
\n"; echo "Ceļš: ".$d->ceļš."
\n"; while (false !== ($entry = $d->read())) ( echo $entry."
\n"; ) $d->close(); ?>

Piezīme. Secība, kādā "lasīšanas" metode atgriež direktoriju ierakstus, ir atkarīga no operētājsistēmas.

Piezīme. Turklāt PHP automātiski definē iekšējo klasi ar nosaukumu Directory, kas nozīmē, ka jūs nevarēsit definēt savas klases ar tādu pašu nosaukumu.


  • getcwd() — iegūstiet pašreizējā darba direktorija nosaukumu
  • virkne getcwd(void)

    Atgriež pašreizējā darba direktorija nosaukumu.


  • opendir() - atver direktoriju
  • resursa opendir (virknes ceļš)

    Atgriež direktorija rokturi, lai vēlāk to izmantotu kopā ar funkcijām closedir (), readdir () un rewinddir ().

    Ja ceļš neeksistē vai direktoriju, kas atrodas norādītajā ceļā, nevar atvērt juridisku ierobežojumu vai failu sistēmas kļūdu dēļ, funkcija opendir () atgriež FALSE un ģenerē E_WARNING līmeņa PHP kļūdas ziņojumu. Kļūdas ziņojumu var izslēgt, pirms funkcijas opendir() nosaukuma pievienojot simbolu "@".

    Koda piemērs

    Sākot ar PHP 4.3.0, ceļa parametrs var būt arī jebkurš URL, kuram piekļūstot, tiek parādīts tā failu un direktoriju saraksts. šī metode darbojas tikai tad, ja tiek izmantots fails:// url pakotājs. PHP 5.0.0 pievienoja atbalstu ftp:// URL pakotājam.


  • readdir — iegūstiet direktorijas elementu ar tā rokturi
  • virkne readdir (resursu katalogs)

    Atgriež nākamā secīgā direktorija ieraksta nosaukumu. Elementu nosaukumi tiek atgriezti secībā atkarībā no failu sistēmas.

    Ņemiet vērā, kā funkcija readdir () atgriež vērtību tālāk esošajā piemērā. Šajā piemērā tiek pārbaudīts, vai vērtība (izteiksmes ir identiskas, ja tās ir vienādas un ir viena veida vērtības — plašāku informāciju skatiet sadaļā Salīdzināšanas operatori) ir identiska vērtībai FALSE, jo pretējā gadījumā jebkurš direktorija ieraksts, kura nosaukumu var izteikt kā FALSE. , apturēs cilpu (piemēram, elements ar nosaukumu "0").

    Koda piemērs

    Ņemiet vērā, ka funkcija readdir () atgriež arī nosauktos elementus, un, ja nevēlaties saņemt šīs vērtības, vienkārši izmetiet tās:

    Koda piemērs


  • rewinddir() — atiestatīt direktorijas turi
  • Void rewinddir (resursu katalogs)

    Atiestata kataloga parametrā nodoto kataloga straumi, lai norādītu uz kataloga sākumu


  • scandir() - iegūstiet failu un direktoriju sarakstu, kas atrodas norādītajā ceļā
  • masīvs scandir (stīgu katalogs [, int order])

    Atgriež masīvu, kurā ir to failu un direktoriju nosaukumi, kas atrodas kataloga parametrā norādītajā ceļā. Ja direktorijs nav direktorijs, funkcija atgriež FALSE un ģenerē kļūdas ziņojumu E_WARNING.

    Pēc noklusējuma kārtošana tiek veikta alfabētiskā secībā augošā secībā. Ja ir norādīts izvēles secības parametrs (vienāds ar 1), kārtošana tiek veikta alfabētiskā secībā dilstošā secībā. Koda piemērs

    Rezultāts būs kaut kas līdzīgs:

    Masīvs ( => . => .. => bar.php => foo.txt => somedir) Array ( => somedir => foo.txt => bar.php => .. => .)

    Koda piemērs

    REZULTĀTA PIEMĒRS:

    Masīvs ( => . => .. => bar.php => foo.txt => somedir) Array ( => somedir => foo.txt => bar.php => .. => .)

    Katram programmētājam jāspēj pareizi strādāt ar failiem. Šis raksts ir paredzēts iesācējiem PHP programmētājiem, taču “recepšu kolekcija” noderēs arī pieredzējušiem lietotājiem.

    Darbs ar failiem ir sadalīts 3 posmos:

    1. Faila atvēršana.
    2. Datu manipulācijas.
    3. Faila aizvēršana.

    es. Faila atvēršana

    Lai atvērtu failu PHP vidē, izmantojiet funkciju fopen (). Šai funkcijai nepieciešamie parametri ir faila nosaukums un faila režīms.

    $fp = fopen("skaitītājs.txt", "r");

    Saskaņā ar PHP dokumentāciju tiek izdalīti šādi failu režīmu veidi:

    1. r – atver failu tikai lasīšanai.
    2. r+ - atver failu lasīšanai un rakstīšanai vienlaikus.
    3. w – izveido jaunu tukšu failu. Ja šāds fails jau pastāv zvana brīdī, tas tiek iznīcināts.
    4. w+ - līdzīgi kā r+, tikai tad, ja šāds fails eksistē izsaukšanas brīdī, tā saturs tiek dzēsts.
    5. a – atver esošu failu rakstīšanas režīmā, kursoru nobīdot uz faila pēdējo baitu (līdz faila beigām).
    6. a+ - atver failu lasīšanas-rakstīšanas režīmā, kursors tiek pārvietots uz pēdējo faila baitu (līdz faila beigām). Faila saturs netiek dzēsts.

    Piezīme. Jebkuras rindas beigās var būt vēl viens izvēles parametrs: b vai t . Ja ir norādīts b, fails tiek atvērts binārā lasīšanas/rakstīšanas režīmā. Ja t , tad failam ir iestatīts rindas plūsmas tulkošanas režīms, t.i. tas tiek uztverts kā tekstuāls.

    Lai parādītu, apsveriet šādu scenāriju:

    //Atver failu dažādos režīmos
    $fp = fopen("skaitītājs.txt", "r"); // Binārais režīms
    $fp = fopen("skaitītājs.txt", "rt"); // Teksta režīms
    $fp = fopen("http://www.yandex.ru", "r");// Atver HTTP savienojumu lasīšanai
    $fp = fopen("ftp://lietotājs: [aizsargāts ar e-pastu]", "w"); //Atveriet FTP savienojumu, norādot pieteikumvārdu un paroli
    ?>

    II. Failu datu manipulācijas

    Varat ierakstīt datus failā, izmantojot PHP, izmantojot funkciju fwrite(). Šai funkcijai ir nepieciešami 2 obligātie parametri un 1 neobligāts. Nepieciešamie parametri ir faila deskriptors un faila režīms:

    $fp = fopen("skaitītājs.txt", "a"); // Atveriet failu rakstīšanas režīmā
    $mytext = "Mums ir jāuzraksta šī rindiņa\r\n"; // Avota virkne
    $test = fwrite($fp, $mytext); // Rakstīt failā
    if ($test) echo "Dati tika veiksmīgi ievadīti failā.";
    else echo "Kļūda rakstot failā.";
    fclose($fp); //Aizveriet failu
    ?>

    Lai lasītu failu pa rindiņai, izmantojiet funkciju fgets(). Funkcijai ir nepieciešami 2 nepieciešamie parametri:


    ja ($fp)
    {
    kamēr (!feof($fp))
    {
    $mans teksts = fgets($fp, 999);
    atbalss $mytext."
    ";
    }
    }

    fclose($fp);
    ?>

    Piezīme.: Šajā piemērā vērtība 999 norāda rakstzīmju skaitu, kas tiks nolasītas, līdz rādītājs sasniegs faila beigas (EOF).

    Lai lasītu failu kā vienotu veselumu, ir jāizmanto funkcija lasīt failu (), kas aizņem 1 nepieciešamo parametru. Funkcija atver failu, parāda tā saturu pārlūkprogrammas logā un pēc tam aizver failu:

    echoreadfile("skaitītājs.txt");
    ?>

    Varat arī izmantot funkciju fpassthru(), kas aizņem 1 nepieciešamo parametru. Pirms šīs funkcijas izmantošanas fails ir jāatver lasīšanas režīmā. Kad fails ir beidzis lasīt, funkcija automātiski aizver failu (un faila deskriptors kļūst nederīgs).

    $fp = fopen("skaitītājs.txt", "r"); // Atveriet failu lasīšanas režīmā
    if ($fp) echo fpassthru($fp);
    elseecho "Kļūda atverot failu";
    ?>

    Ļoti bieži ir situācijas, kad ir nepieciešams nolasīt vietnes saturu masīvā. Šī funkcija ietver funkcijas izmantošanu fails (). Kad šī funkcija tiek izsaukta, katra faila rinda tiks saglabāta atsevišķs elements norādītais masīvs.

    Piezīme: šo funkciju nevajadzētu izmantot fails () uz binārajiem failiem (bināri droši), jo Tas nav drošs attiecībā uz bināro failu lasīšanu, un, ja tas kaut kur sastopas ar faila beigu (EOF) rakstzīmi, tas negarantē, ka jūs izlasīsit visu bināro failu.

    $fails_masīvs = fails("skaitītājs.txt"); // Lasiet failu $file_masīvā
    // Darbs ar masīva datiem
    ?>

    Piezīme: Darbs ar masīviem ir detalizēti aprakstīts, autori: Mukhametshin D.F., Simdjanovs I.V.

    Raksta beigās jūs atradīsiet labu "pavārgrāmatu" par masīviem, kas sniedz risinājumus daudzām problēmām, ar kurām tīmekļa programmētājs saskaras katru dienu.

    Iedomāsimies situāciju, kad fails ir jālasa pēc rakstzīmes. Lai to izdarītu, mēs varam izmantot funkciju fgetc(). Funkcija aizņem vienu parametru. Funkcija ir noderīga, ja mums ir jāatrod kāda rakstzīme vai identisku rakstzīmju skaits.

    $fp = fopen("skaitītājs.txt", "r"); // Atveriet failu lasīšanas režīmā
    ja ($fp)
    {
    while(!feof($fp))
    {
    $char = fgetc($fp);
    if ($char == "c") $i = $i + 1;// Atrodiet rakstzīmi "c"
    }
    echo "C burtu skaits failā: ". $i;
    }
    else echo "Kļūda atverot failu";
    ?>

    III. Faila aizvēršana

    Fails tiek aizvērts, izmantojot funkciju fclose(), kas aizņem 1 nepieciešamo parametru.

    $fp = fopen("skaitītājs.txt", "r");
    ja ($fp)
    {
    echo "Fails ir atvērts";
    fclose($fp); // Faila aizvēršana
    }
    ?>

    Recepšu kolekcija

    1) Mums ir jāpārbauda, ​​vai šis vai cits fails pastāv. Lai to izdarītu, mēs izmantosim funkciju file_exists().

    mans fails("skaitītājs.txt"); // Izmantojiet funkciju myfile, nododot faila nosaukumu kā argumentu

    function myfile($name) //Izveidojiet funkciju, lai pārbaudītu faila esamību
    {
    if (file_exists($name)) echo "Fails eksistē";

    }
    ?>

    Piezīme: funkcija fails_eksistē nepārbauda failus attālajā tīmekļa serverī. Priekš pareiza darbība funkcijas, failam ar skriptu jāatrodas tajā pašā serverī, kur pārbaudāmais fails.

    2) Nosakiet faila lielumu, izmantojot funkciju faila lielums()

    mans fails("skaitītājs.txt");

    function myfile($name) //Izveidojiet funkciju, lai pārbaudītu faila esamību un noteiktu faila lielumu
    {
    if (file_exists($name)) echo "Faila izmērs: ".faila lielums($nosaukums)." baiti";
    else echo "Fails neeksistē";
    }
    ?>

    3) Izmantojot funkciju, izveidojiet pagaidu failu tmpfile()

    $mans fails = tmpfile();
    fwrite($myfile, "Šī rinda ir ierakstīta pagaidu failā."); // Rakstiet pagaidu failā
    fseek ($ mans fails, 0); // Iestatiet faila rādītāju
    echo fread ($ mans fails, 1024); // izvada faila saturu
    ?>

    4) Jums ir jānosaka faila rindu skaits. Lai to izdarītu, mēs izmantojam funkciju skaitīt()

    $fp = fails("skaitītājs.txt");
    echo "Rindu skaits failā: ".count($fp);
    ?>

    5) Mums ir jāizmanto failu bloķēšanas mehānisms

    $fp = fopen("skaitītājs.txt", "a");
    ganāmpulks($fp, LOCK_EX); // Bloķējiet failu rakstīšanai
    fwrite($fp, "Linda rakstīšanai");
    ganāmpulks($fp, LOCK_UN); // Atbloķēt
    fclose($fp);
    ?>

    6) Mums ir jānoņem noteikta rinda no faila

    $num_stroka = 5; //Dzēst no faila 5. rindiņu
    $fails = fails("skaitītājs.txt"); // Lasiet visu failu masīvā

    for($i = 0; $i< sizeof($file); $i++)
    if($i == $num_stroka) unset($file[$i]);

    $fp = fopen("skaitītājs.txt", "w");
    fputs($fp, implode("", $fails));
    fclose($fp);
    ?>

    7) Faila tipa noteikšana. Izmantojot funkciju

    PHP

    file_exists("test.txt")//Vai fails pastāv? filesize("test.txt");//Noskaidrojiet faila lielumu //Tiek atgriezts laikspiedols: fileatime("test.txt");//Pēdējās piekļuves datums failam //date("d M Y" , $atime); filemtime("test.txt");//Faila modifikācijas datums //date("d M Y", $mtime); filectime("test.txt");//Faila izveides datums (Windows) //date("d M Y", $ctime);

    Faili: darbības režīmi

    PHP

    resurss fopen (virknes faila nosaukums, virknes režīms) // resurss - atgriež rādītāju uz failu veiksmes gadījumā vai FALSE kļūdas gadījumā
    Darbības režīms Apraksts
    r atvērt failu tikai lasāms;
    r+ atveriet failu lasīšanai un rakstīšanai;
    w atveriet failu tikai rakstīšanai. Ja tas pastāv, pašreizējais faila saturs tiek iznīcināts. Pašreizējā pozīcija tiek iestatīta uz sākumu;
    w+ atveriet failu lasīšanai un rakstīšanai. Ja tas pastāv, pašreizējais faila saturs tiek iznīcināts. Pašreizējā pozīcija tiek iestatīta uz sākumu;
    A atveriet failu rakstīšanai. Pašreizējā pozīcija tiek iestatīta uz faila beigām;
    a+ atveriet failu lasīšanai un rakstīšanai. Pašreizējā pozīcija tiek iestatīta uz faila beigām;
    b apstrādāt bināro failu. Šis karodziņš ir nepieciešams, strādājot ar binārajiem failiem sistēmā Windows.

    Failu atvēršana un aizvēršana PHP

    PHP

    $fi = fopen("test.html", "w+") vai die("Kļūda"); //Piemēri $fi = fopen("http://www.you/test.html","r"); $fi = fopen("http://ftp.you/test.html", "r"); //Aizvērt fclose($fi)

    Failu lasīšana PHP

    PHP

    //Izlasīt failu fread(int fi, int garums) $str = fread($fi, 5); // Lasīt pirmās 5 rakstzīmes echo $str;

    // kopš kursors ir pārvietots $str = fread($fi, 12); // Lasīt nākamās 12 rakstzīmes echo $str; fgets(int fi[, int garums]) // Lasīt rindiņu no faila fgetss(int fi, int garums [, atļauta virkne]) // Lasīt rindiņu no faila un atmest HTML tagus // virkne atļauta — tagi, kas jāatstāj fgetc(int fi) //Nolasa rakstzīmi no faila Sākotnēji rakstīšana notiks faila sākumā, pārrakstot esošos datus, ja tādi ir. Tāpēc, ja jums ir nepieciešams kaut kas ierakstīt faila beigās, jums ir jāiestata atbilstošs lasīšanas režīms

    , piemēram, a+ .

    PHP

    Kursora manipulācijas PHP failos

    int fseek(int fi, int nobīde [, int no kurienes]) //Kursora iestatīšana // int fi - rādītājs uz failu //offset - pārvietojamo rakstzīmju skaits. //whence: //SEEK_SET - kustība sākas no faila sākuma; //SEEK_CUR - kustība sākas no pašreizējās pozīcijas; //SEEK_END — kustība sākas no faila beigām. fseek($fi, -10, SEEK_END); //Izlasīt pēdējās 10 rakstzīmes $s = fread($fi, 10); $pos = ftell($fi); //Noskaidrot pašreizējo pozīciju rewind($f)//reset kursora bool feof($f) //faila beigas

    PHP

    masīva fails(virknes faila nosaukums) // Iegūstiet faila saturu masīva formā // Vēl viena iespēja tiešai darbībai ar datiem file_get_contents(virknes faila nosaukums) // Lasīšana (visa faila iegūšana vienā rindā) // Rakstīšana uz fails (sākotnēji pārrakstīts) file_put_contents(virknes faila nosaukums, jaukti dati[,int karogs]); //FILE_APPEND // Ierakstiet faila beigās: file_put_contents("test.txt", "data", FILE_APPEND); //Ja rakstāt masīvu, $masīvs = array("I", "live"); file_put_contents("test.txt",$masīvs); //tad mēs saņemam "Ilive"

    Failu pārvaldība php

    PHP

    kopija (virknes avots, virknes mērķis); // Faila kopēšana rename(str oldname, str newname); // Pārdēvējiet failu unlink(string filename); // Faila dzēšana

    Failu augšupielāde PHP serverī

    //PHP.ini iestatījumi file_uploads (on|off) // atļaut vai aizliegt failu augšupielādi upload_tmp_dir // pagaidu mape augšupielādētajiem failiem. pēc noklusējuma pagaidu mape upload_max_filesize (noklusējums = 2 Mb) // maks. augšupielādes faila lielums post_max_size // kopējais iesniegtās veidlapas izmērs (jābūt lielākam par upload_max_filesize) // Vienkārša augšupielāde

    HTML

    Darbs ar failiem serverī

    PHP

    //Pieņemt datus $tmp = $_FILES["lietotāja fails"]["tmp_name"]; $nosaukums = $_FILES["lietotāja fails"]["nosaukums"]; //Pārvietot failu move_uploaded_file($tmp, name); move_uploaded_file($tmp, "augšupielādēt/".nosaukums); // novirzīt failu uz augšupielādes mapi // attiecībā pret pašreizējo failu // Kas atrodas $_FILES masīvā $_FILES["lietotāja fails"]["nosaukums"] // faila nosaukums, piemēram, test.html $_FILES[ "lietotāja fails"][" tmp_name"] // pagaidu faila nosaukums (ceļš) $_FILES["lietotāja fails"]["izmērs"] // faila lielums $_FILES["lietotāja fails"]["tips"] // faila tips $ _FILES["lietotāja fails"] ["kļūda"] // 0 - nav kļūdu, skaits - jā

    Darbs ar failiem - svarīgs punkts. Tā kā viņi var uzglabāt datus, žurnālus utt. Mēs jau zinām, kā augšupielādēt failus serverī. Tagad jums jāiemācās mijiedarboties ar viņu saturu.
    Darbs ar failu ir sadalīts trīs posmos:
    1. Atveriet failu.
    2. Strādājiet pie atvērtā faila satura.
    3. Faila aizvēršana.

    Funkcija fopen () Ir vairāki režīmi, ar kuriem tiek atvērti faili, šeit ir to tabula:

    Fopen() iespējamo režīmu saraksts
    režīmā Apraksts
    "r" Atver failu tikai lasāms; novieto rādītāju faila sākumā.
    "r+" Atver failu lasīšanai un rakstīšanai; novieto rādītāju faila sākumā.
    "w" Atver failu tikai rakstīšanai; novieto rādītāju faila sākumā un saīsina failu līdz nullei. Ja fails neeksistē, tas mēģina to izveidot.
    'w+' Atver failu lasīšanai un rakstīšanai; novieto rādītāju faila sākumā un saīsina failu līdz nullei. Ja fails neeksistē, tas mēģina to izveidot.
    "a" Atver failu tikai rakstīšanai; novieto rādītāju faila beigās. Ja fails neeksistē, tas mēģina to izveidot. Šajā režīmā funkcija fseek() nav piemērojams, ieraksti vienmēr tiek pievienoti.
    'a+' Atver failu lasīšanai un rakstīšanai; novieto rādītāju faila beigās. Ja fails neeksistē, tas mēģina to izveidot. Šajā režīmā funkcija fseek() ietekmē tikai lasīšanas vietu, ieraksti vienmēr tiek pievienoti.
    'x' Izveido un atver tikai rakstīšanai; novieto rādītāju faila sākumā. Ja fails jau pastāv, zvaniet fopen () beidzas ar neveiksmi, atgriezīsies FALSE un dos līmeņa kļūdu E_BRĪDINĀJUMS. Ja fails neeksistē, tas mēģinās to izveidot. Tas ir līdzvērtīgs karodziņu norādīšanai O_EXCL|O_CREAT iekšējam sistēmas izsaukumam atvērts (2).
    'x+' Izveido un atver lasīšanai un rakstīšanai; citādi ir tāda pati uzvedība kā 'x'.
    'c' Atver failu tikai rakstīšanai. Ja fails neeksistē, tas tiek izveidots. Ja fails pastāv, tas nav saīsināts (atšķirībā no "w"), un šīs funkcijas izsaukšana neizraisa kļūdu (kā tas ir gadījumā 'x'). Faila rādītājs tiks iestatīts uz faila sākumu. Tas var būt noderīgi, ja vēlaties bloķēt failu (sk ganāmpulks ()) pirms maiņas, kopš lietošanas "w" var saīsināt failu pirms bloķēšanas iegūšanas (ja vēlaties saīsināt failu, varat izmantot funkciju ftruncate() pēc bloķēšanas pieprasījuma).
    'c+' Atver failu lasīšanai un rakstīšanai; citādi ir tāda pati uzvedība kā 'c'.

    Režīmam varat pievienot vēl divas vērtības:
    b- fails tiek atvērts binārajā režīmā
    t- fails tiek atvērts kā teksts

    No vārdiem uz darbiem. Tagad neliela prakse, lai nostiprinātu. Izveidosim failu savā failu mapē ar nosaukumu test.txt, bet darīsim to ar izmantojot PHP. Un mēs tajā ierakstīsim rindiņu “Sveiki visiem!”, pēc kuras mēs nolasīsim šo rindiņu no faila un parādīsim to ekrānā. Es nolēmu visu darīt atkārtoti lietojamu funkciju veidā, tas ir, kas no tā iznāca:

    "; else echo "Neizdevās ierakstīt datus!
    "; //aizveriet failu fclose($file); ) funkcija fileread($filename)( //ceļš uz failu $path = "files/".$filename..txt"; //atvērt failu lasīšanai $fails = fopen($path,"r") // ja fails tika veiksmīgi atvērts if($file)( // tad līdz fails sasniedz beigas while (!feof($file)) ( // lasīt datus). no faila $lasīt = fgets ($fails // un parādīt tekstu uz ekrāna echo $lasīt).
    "; ) ) // ja fails netika atvērts, tad ziņojiet par to citādi echo "Kļūda atverot failu
    "; // Aizveriet failu fclose($file); ) // Izveidojiet failu fcreate("test","Sveiki visiem!"); // Lasīt datus no faila fileread("test"); ?>

    Tagad varat izveidot un rediģēt failus.
    ————————
    Ko jūs zināt par jaudīgākajiem superdatoriem? Nekas? Tad lasiet šeit