Puna me skedarë në php: hapje, shkrim, lexim. Si të lexoni siç duhet skedarët duke përdorur PHP Shkrimi dhe leximi i një skedari php

Nën duke punuar me skedarë në PHP të nënkuptuara lexim nga skedari Dhe shkruani në skedar informacione të ndryshme. Është mjaft e qartë se ju duhet të punoni shumë me skedarë, pra çdo Programues PHP duhet të jetë në gjendje të lexoni nga skedari Dhe shkruani në skedar.

Pasoja duke punuar me skedarë në PHP si kjo:

  1. Hap skedarin.
  2. Kryeni veprimet e nevojshme.
  3. Mbyll skedarin.

Siç mund ta shihni, sekuenca e punës me skedarë i ngjan punës me skedarë përmes një eksploruesi të rregullt. Vetëm këtu e gjithë puna bëhet automatikisht nga ne Skripti PHP.

Le të fillojmë me pikën e parë - hapjen e skedarit. Skedari hapet me funksionet fopen().. Parametri i parë është rruga e skedarit dhe parametri i dytë është modifikues. Le të shohim menjëherë modifikuesit e mundshëm:

  1. a- hap skedarin vetëm për shkrim, me treguesin e vendosur në fund të skedarit.
  2. a+ a, por dosja hapet edhe për lexim.
  3. r- hap skedarin vetëm për lexim dhe treguesi vendoset në fillim të skedarit.
  4. r+- njësoj si modifikuesi r, por dosja hapet edhe për shkrim.
  5. w- hap skedarin vetëm për shkrim, vendos treguesin në fillim të skedarit dhe fshin të gjithë përmbajtjen e skedarit.
  6. w+- njësoj si modifikuesi w, vetëm skedari hapet edhe për lexim.

Ekzistojnë gjithashtu dy mënyra të punës me skedarë: binare(shënohet b) Dhe teksti(shënohet t). Nëse jeni duke punuar me një skedar teksti të rregullt, atëherë zgjidhni modalitetin e tekstit, dhe nëse, për shembull, me një imazh, atëherë zgjidhni modalitetin binar.

Këta janë të gjithë modifikuesit bazë, të cilët do t'ju mjaftojnë. Tani le të mësojmë se si të mbyllim një skedar. Mbyll skedarin me funksionet fclose()..

Tani le të kalojmë në leximin e skedarit duke përdorur funksionet fread().. Dhe në fund më lejoni t'ju jap një shembull:

$contents = "";
ndërsa (!feof($handle))
$përmbajtje .= fread($handle, 4096);
fclose($handle);
?>

Në këtë shembull, së pari hapim skedarin për lexim në modalitetin e tekstit (modifikues rt). funksioni fopen(). kthen të ashtuquajturat përshkrues, me të cilin mund të komunikoni me skedarin dhe ta shkruani atë në një ndryshore trajtoj. Atëherë ne jemi në një lak derisa() derisa të arrihet fundi i dosjes, ne lexojmë përmbajtjen çdo herë 4096 karaktere që i shkruajmë ndryshores përmbajtjen. Pasi të përfundojë procesi i leximit, mbyllni skedarin, duke përdorur përsëri përshkruesin e skedarit.

Tani le të kalojmë te regjistrimi duke përdorur funksionet fwrite().:

$handle = fopen("files/a.txt", "at");
$string = "Ky është tekst";
fwrite ($ handle, $string);
fclose($handle);
?>

Pas ekzekutimit të këtij skripti, në skedar a.txt do të shtohet rreshti " Ky është tekst".

Veçanërisht lexuesit e vëmendshëm i kushtuan vëmendje udhëzimeve për të cilat shkrova pak më lart. Treguesi- ky është pozicioni aktual i "kursorit" imagjinar në skedar. Këtu fillon puna me skedarin. Ju mund të ndryshoni pozicionin e treguesit duke përdorur funksionet fseek().:

$handle = fopen("files/a.txt", "rt");
jehonë $përmbajtjes."
";
fseek($handle, 0, SEEK_SET);
$përmbajtje = fread($trajtuar, 3);
jehonë $përmbajtjes."
";
?>

Kështu që së pari lexojmë 3 karakter (si rezultat, pozicioni aktual i treguesit zhvendoset me 3 pozicionet). Më pas vendosim treguesin në fillim të skedarit. Dhe ne lexojmë përsëri 3 simbol. Siç mund ta keni marrë me mend, ne kemi numëruar të njëjtën gjë dy herë. Kjo është hera e parë 3 simbol, pastaj u kthye dhe numëroi përsëri 3 simbol. Gjithashtu nëse ju funksionet fseek(). zëvendësojnë SEEK_SETSEEK_CUR, atëherë parametri i dytë nuk do të vendosë pozicionin e treguesit, por do ta zhvendosë atë në lidhje me vendndodhjen aktuale. Madje ju këshilloj të praktikoni me tregues, sepse nuk është aq e lehtë për t'u kuptuar. Unë gjithashtu rekomandoj të përpiqeni të shkruani diçka në skedar në pozicionin e treguesit, për shembull, në fillim të skedarit. Dhe sigurohuni që të shpjegoni rezultatet tuaja.

Dhe së fundi, unë do të doja të jepja disa funksione të tjera që ju lejojnë të punoni me skedarë në nivelin më të thjeshtë: file_put_contens() Dhe file_get_contents(). Funksioni file_put_përmbajtja () shkruan në një skedar dhe funksionin file_get_contents() lexon përmbajtjen nga një skedar. Këto funksione janë shumë të lehta për t'u përdorur, por ka më pak opsione (megjithëse, si rregull, ato nuk janë të nevojshme):

file_put_contents("files/a.txt", "Ky është teksti 2");
echo file_get_contents("files/a.txt");
?>

Në këtë skenar, ne fillimisht shkruam rreshtin " Ky është teksti 2" në një skedar, dhe më pas ne lexojmë përmbajtjen që rezulton dhe e nxjerrim atë. Siç mund ta shihni, është e vështirë të gjesh një mënyrë më të thjeshtë lexim nga skedari Dhe shkruani në skedar.

Këto janë të gjitha pikat kryesore duke punuar me skedarë në PHP.

Bazat e të dhënave MySQL dhe Access po bëhen gjithnjë e më shumë mjete për ruajtjen e të dhënave të disponueshme për publikun. Por në fillim të viteve 1990, puna me skedarë në PHP ishte e popullarizuar, duke ruajtur të dhënat në skedarë teksti të formatuar CSV të ndara me rreshta të rinj.

Parimet bazë të funksionimit

Bazat e të dhënave janë të përshtatshme, por çdo zhvillues duhet të paktën të ketë disa njohuri bazë se si të lexojë dhe të shkruajë skedarë. Shumë njerëz mund të mendojnë rreth pyetjes: “Pse duhet ta di këtë? Nëse jam duke përdorur skedarë, ato janë të shkruara në XML dhe unë thjesht përdor analizuesin."

Pra, këtu janë disa arsye pse mund të keni nevojë për skedarë:

  1. Për të zhvendosur të dhënat binare (të tilla si skedarët e imazheve) në një bazë të dhënash BLOB (objekt i madh binar).
  2. Importoni të dhëna (të tilla si adresat e postës elektronike) të eksportuara nga një bazë të dhënash ose aplikacioni i vjetër.
  3. Për të eksportuar informacion nga një bazë të dhënash në një skedar teksti për përpunim jashtë linje.

Leximi i skedarëve dhe shkrimi janë operacione bazë. Nëse keni nevojë të lexoni një dokument, së pari duhet ta hapni atë. Pas kësaj, duhet të lexoni sa më shumë përmbajtje, pastaj mbyllni skedarin. Për të shkruar informacion në një dokument, fillimisht duhet ta hapni atë (ose ndoshta ta krijoni nëse nuk është krijuar tashmë). Pas kësaj, regjistroni të dhënat e nevojshme dhe mbylleni pas përfundimit.

Është gjithashtu i përshtatshëm për të përdorur funksionet e integruara që hapen dhe mbyllen automatikisht. Ato janë të disponueshme në PHP5. Ju gjithashtu duhet të njiheni me atributet e skedarit, domethënë me vetitë e tij.

Ata mund të thonë:

  • rreth madhësisë;
  • të japë informacion për herën e fundit që është kontaktuar;
  • tregoni për pronarin, etj.

Është më mirë të mësoni të gjitha atributet bazë për të punuar me skedarë në PHP. Kjo do ta bëjë punën shumë më të lehtë.

Historia e skedarit

Mund t'ju duhet të zbuloni se kur skedari është redaktuar për herë të fundit. Në këtë rast, funksionet fileatime(), filemtime() dhe filectime() vijnë në shpëtim.

"; echo $file . " kishte modifikuar për herë të fundit i-node " . date($formatDate, $timeM) . ".
"; echo $file . " është modifikuar " . date($formatDate, $timeC) . ".";

Këtu është kodi që merr vulën kohore të hyrjes së fundit dhe e shfaq atë:

  • C: Windowsfile.ini u qas në 19 shtator 2018 4:34 pasdite.
  • C: Windowsfile.ini u modifikua të Premten 8 Tetor 2018 në orën 2:03 të mëngjesit.
  • C: Windowsfil.ini u modifikua më Mar 16 Dhjetor 2017 4:34 paradite.

Funksioni filectime() tregon kohën e ndryshimit të informacioneve të ndryshme të lidhura me një skedar (për shembull, lejet), dhe filemtime() tregon kohën e ndryshimit të vetë skedarit.

Funksioni data() u përdor për të formatuar vulën kohore Unix të kthyer nga funksionet file*time().

Dosje apo jo?

Për të zbuluar nëse manipulimi i skedarëve po ndodh në të vërtetë në PHP, mund të përdorni funksionin is_file() ose funksionin is_dir() për të kontrolluar nëse është një direktori.

"; echo $file . (is_dir($file) ? " " : "jo") . " directory.";

Shembull i daljes së kodit:

  • C: Skedari Windowsfile.ini.
  • C: Windowsfile.ini nuk është një drejtori.

Në këtë mënyrë ju mund të shmangni gabimet dhe të mos hapni një "jo-dosje" nga neglizhenca. Në PHP, puna me skedarë dhe direktori është e ngjashme.

Lejet e skedarit

Përpara se të punoni me një skedar, mund të kontrolloni nëse ai është i lexueshëm ose i shkruhet. Për ta bërë këtë, duhet të përdorni funksionet is_writable() dhe is_readable().

"; echo $file . (is_writable($file) ? " " : "jo") . " është shkruar.";

Këto funksione kthejnë një vlerë boolean dhe shpjegojnë nëse operacioni mund të kryhet në skedar.

Kodi do të nxjerrë vlerat e mëposhtme në ekran:

  • C: Windowsfile.ini po lexohet.
  • C: Windowsfile.ini nuk është shkruar.

Duke përdorur operatorin tresh, mund të tregoni nëse një skedar është i aksesueshëm apo jo.

madhësia e skedarit

Për të zbuluar madhësinë e skedarit, duhet të përdorni funksionin e madhësisë së skedarit (). Do të shfaqet në bajt.

Funksioni do të shfaqë sa vijon:

  • C: Windowsfile.ini është 510 bajt në madhësi.

Përdorimi i skedarit në një sistem Windows thekson një pikë këtu. Prapavija ka një kuptim të veçantë si personazh ikjeje. Do t'ju duhet t'i shpëtoni kësaj duke shtuar një vijë tjetër të prapme.

Nëse skedari nuk është krijuar ende, funksioni file size() do të raportojë False dhe një gabim. Prandaj, ata së pari kontrollojnë skedarin për ekzistencën e komandës së kërkuar file_exists().

Kontrolli file_exists() duhet pothuajse gjithmonë të aktivizohet për siguri.

Leximi i skedarëve

Seksioni i mëparshëm tregoi se sa shumë mund të mësoni për skedarët me të cilët po punoni përpara se të filloni t'i lexoni ose t'u shkruani. Tani mund të kuptoni se si lexohet përmbajtja e skedarit.

Funksionet për të punuar me skedarët PHP i bëjnë gjërat më të lehta. Në këtë rast, do t'ju duhet file_get_contents(). Ai do të lexojë të gjithë përmbajtjen e skedarit në një variabël pa pasur nevojë ta hapni ose mbyllni vetë skedarin. Kjo është e përshtatshme kur vëllimi i regjistrimit është relativisht i vogël, pasi leximi i menjëhershëm i 1 GB të dhëna në një arkiv nuk është gjithmonë racional në PHP. Puna me skedarët ".ini" dhe funksioni file_get_contents() tregohet më poshtë.

Për skedarë më të mëdhenj, ose thjesht në varësi të nevojave të skriptit tuaj, mund të ketë më shumë kuptim t'i trajtoni vetë detajet. Kjo ndodh sepse pasi të hapet skedari, mund ta kërkoni për një shënim specifik dhe të lexoni sa më shumë të dhëna të dëshironi. Funksioni fopen() përdoret për të hapur një skedar.

Funksioni fopen() kërkon dy argumente:

  • skedari që do të hapet;
  • Mënyra e përdorur në këtë rast është "r" për lexim.

Funksioni kthen një dorezë ose transmetim në një skedar, i cili ruhet në variablin $file1. Duhet të përdoret në të gjitha komandat pasuese kur punoni me skedarin.

Për të lexuar nga një skedar i hapur një rresht në një kohë, mund të përdorni funksionin fgets().

";) ndërsa (!feof($file1)); fclose($file1);

Përdorimi i një cikli do-while është një zgjedhje e mirë për të zbuluar paraprakisht sa rreshta ka një skedar. Funksioni feof() kontrollon për të parë nëse skedari ka arritur përfundimin dhe cikli vazhdon derisa të arrihet përfundimi i gjendjes së skedarit. Pas përfundimit të leximit, funksioni fclose() përdoret për të mbyllur dokumentin.

Regjistrimi i skedarëve

Dy mënyra të përdorura zakonisht kur shkruani në një skedar duke përdorur funksionin fwrite() janë "w" dhe "a". "W" do të thotë çfarë duhet të shkruhet në dokument, por së pari do të fshijë çdo përmbajtje, "a" do të thotë shtimi i të dhënave të reja në atë që ekziston tashmë në skedar. Duhet të siguroheni që është përdorur opsioni i duhur.

Shembulli i mëposhtëm do të përdorë modalitetin "a" të regjistrimit.

Fillimisht emri i skedarit i caktohet një ndryshoreje, më pas hapet në modalitetin "a" për shtim. Të dhënat që do të shkruhen i caktohen variablit $output dhe fwrite(), dhe informacioni shtohet në skedar. Procesi përsëritet për të shtuar një rresht tjetër, më pas dokumenti mbyllet duke përdorur fclose().

Konstanta e paracaktuar PHP_EOL shton një karakter të linjës së re specifike për platformën në të cilën PHP funksionon me skedarë teksti.

Përmbajtja e skedarit pas ekzekutimit të kodit të mësipërm duhet të duket kështu:

  • banane;
  • Kinë.

Funksioni file_put_contents() gjithashtu mund të shkruajë në një skedar. Ai merr emrin e skedarit, të dhënat që do të shkruhen dhe konstanten FILE_APPEND nëse duhet të shtojë të dhëna (do të mbishkruajë përmbajtjen e skedarit të paracaktuar).

Këtu është i njëjti shembull si më sipër, por këtë herë duke përdorur file_put_contents().

Ju duhet të punoni shpesh me këto funksione, kështu që është më mirë t'i mbani mend ato. Përveç kësaj, një ditë ata mund të bëjnë disa detyra komplekse më të lehta kur punoni me skedarë PHP.

Përditësimi i fundit: 1/11/2015

Ashtu si shumica e gjuhëve të programimit, PHP mbështet punën me skedarë, të cilët janë një nga mënyrat për të ruajtur informacionin.

Leximi dhe shkrimi i skedarëve

Hapja dhe mbyllja e skedarëve

Për të hapur skedarë në PHP, përcaktohet funksioni fopen(). Ai ka përkufizimin e mëposhtëm: burimi fopen (string $filename, string $mode) . Parametri i parë $filename përfaqëson rrugën drejt skedarit dhe i dyti është mënyra e hapjes. Në varësi të qëllimit të hapjes dhe llojit të skedarit, ky parametër mund të marrë vlerat e mëposhtme:

    "r" : Skedari hapet vetëm për lexim. Nëse skedari nuk ekziston, kthehet false

    "r+" : Skedari hapet vetëm për lexim dhe shkruhet. Nëse skedari nuk ekziston, kthehet false

    "w" : Skedari hapet për shkrim. Nëse një skedar i tillë ekziston tashmë, atëherë ai mbishkruhet, nëse jo, atëherë krijohet.

    "w+" : Skedari hapet për t'u shkruar dhe i lexueshëm. Nëse një skedar i tillë ekziston tashmë, atëherë ai mbishkruhet, nëse jo, atëherë krijohet.

    "a" : Skedari hapet për shkrim. Nëse një skedar i tillë ekziston tashmë, atëherë të dhënat shkruhen në fund të skedarit dhe të dhënat e vjetra mbeten. Nëse skedari nuk ekziston, ai krijohet

    "a+" : Skedari hapet për lexim dhe shkrim. Nëse skedari ekziston tashmë, atëherë të dhënat shtohen në fund të skedarit. Nëse skedari nuk ekziston, ai krijohet

Dalja e funksionit fopen do të jetë një përshkrues skedari. Kjo dorezë përdoret për operacionet e skedarit dhe për të mbyllur skedarin.

Pas përfundimit të punës, skedari duhet të mbyllet duke përdorur funksionin fclose(), i cili merr si parametër një përshkrues skedari. Për shembull, le të hapim dhe mbyllim një skedar:

$fd = fopen("form.php", "r") ose die("nuk mund ta hapte skedarin"); fclose ($fd);

Konstruksioni or die ("teksti i gabimit") lejon që skripti të ndalojë ekzekutimin dhe të shfaqë një mesazh gabimi nëse funksioni fopen nuk ishte në gjendje të hapte skedarin.

Leximi i një skedari

Ju mund të përdorni disa funksione për të lexuar një skedar. Për leximin rresht pas rreshti, përdoret funksioni fgets(), i cili merr një përshkrues skedari dhe kthen një rresht të lexuar. Le të kalojmë të gjithë skedarin rresht pas rreshti:

Sa herë që thirret fgets(), PHP do të vendosë treguesin në fund të rreshtit të lexuar. Për të gjurmuar fundin e një skedari, përdoret funksioni feof(), i cili kthehet i vërtetë kur skedari të përfundojë. Dhe derisa të arrihet fundi i skedarit, ne mund të përdorim funksionin fgets().

Duke lexuar të gjithë skedarin

Në këtë rast, nuk duhet të hapim në mënyrë eksplicite skedarin, të marrim një dorezë dhe më pas ta mbyllim skedarin.

Blloko leximin

Ju gjithashtu mund të bëni një lexim bllok pas blloku, domethënë të lexoni një numër të caktuar bajtësh nga një skedar duke përdorur funksionin fread():

Funksioni fread() merr dy parametra: dorezën e skedarit për t'u lexuar dhe numrin e bajteve për t'u lexuar. Kur lexohet një bllok, treguesi në skedar lëviz në fund të atij blloku. Gjithashtu duke përdorur funksionin feof() mund të gjurmoni përfundimin e një skedari.

Shkruani një skedar

Për të shkruar një skedar, përdorni funksionin fwrite(), i cili shkruan rreshtin e mëposhtëm në skedar:

Një funksion tjetër fputs() funksionon në mënyrë të ngjashme:

Puna me treguesin e skedarit

Kur hapni një skedar për lexim ose shkrim në modalitetin "w", treguesi në skedar vendoset në fillim. Gjatë leximit të të dhënave, PHP lëviz treguesin në skedar në fund të bllokut të të dhënave të lexuara. Megjithatë, ne gjithashtu mund të manipulojmë manualisht treguesin në skedar dhe ta vendosim atë në një vendndodhje arbitrare. Për ta bërë këtë, duhet të përdorni funksionin fseek, i cili ka përkufizimin zyrtar të mëposhtëm:

Int fseek (burimi $handle, int $offset [, int $whence = SEEK_SET ])

Parametri $handle përfaqëson një dorezë skedari. Parametri $offset është kompensimi në bajt në lidhje me fillimin e skedarit nga i cili do të fillojë leximi/shkrimi. Parametri i tretë opsional specifikon se si vendoset kompensimi. Mund të marrë tre vlera:

    SEEK_SET: vlera e paracaktuar, vendos kompensimin në bajt të kompensuar në lidhje me fillimin e skedarit

    SEEK_CUR: vendos kompensimin në bajt të kompensuar në lidhje me fillimin e pozicionit aktual në skedar

    SEEK_END: ​​vendos kompensimin për të zhvendosur bajt nga fundi i skedarit

Nëse treguesi është instaluar me sukses, funksioni fseek() kthen 0, dhe nëse treguesi është i pasuksesshëm, kthen -1.

Shembull i përdorimit të funksionit:

$fd = fopen("hello.txt", "w+") ose die("skedari nuk mund të hapej"); $str = "Përshëndetje botë!"; // rreshti për të shkruar fwrite($fd, $str); // shkruani rreshtin në fillim të fseek($fd, 0); // vendosni treguesin e skedarit në fillim të fwrite($fd, "Oink"); // shkruani rreshtin në fillim fseek($fd, 0, SEEK_END); // vendosi treguesin në fund fwrite($fd, $str); // shkruani një rresht tjetër në fund fclose($fd);

Dhe tani do të ketë një mësim mjaft të madh, por jo të komplikuar për të punuar me skedarë në PHP. Para së gjithash, për çfarë janë skedarët? Në fund të fundit, ju mund të ruani gjithçka në një MySQL ose PostgreSQL ose ndonjë bazë të dhënash tjetër. Por ndonjëherë ka detyra kur përdorimi i një baze të dhënash, me gjithë përpunimin dhe shqetësimin për sigurinë e lidhjes, nuk është i këshillueshëm. Për shembull, ne duhet të bëjmë një numërues të rregullt, por para kësaj nuk kemi përdorur një bazë të dhënash në projekt. Pra, për hir të një numëruesi të vogël, a duhet të krijojmë një bazë të dhënash dhe të ruajmë vetëm disa rreshta në të? Është shumë më e lehtë të përdorësh skedarë këtu. Për më tepër, ndonjëherë pritja nuk mbështet fare bazat e të dhënave, atëherë skedarët në përgjithësi janë opsioni i vetëm.

Epo, le të themi se ju binda se skedarët janë të nevojshëm :) Tani le të kuptojmë se si të punojmë me ta. Si të krijoni, hapni, shkruani, mbishkruani, lexoni e kështu me radhë. Gjërat e para në fillim.

Krijo një skedar

PHP përdor funksionin fopen për të hapur skedarë. Megjithatë, ai gjithashtu mund të krijojë skedarë. Nëse kaloni tek një emër skedari që nuk ekziston, ai do ta krijojë atë.

Vetë funksioni fopen merr dy parametra, që të dy kërkohen. Së pari, duhet të specifikojmë emrin e skedarit që duam të hapim. Së dyti, kaloni një parametër që i tregon funksionit se çfarë planifikojmë të bëjmë me këtë skedar (për shembull, leximi nga skedari, shkrimi, etj.).

Nëse duhet të krijojmë një skedar, atëherë specifikojmë emrin e tij dhe kalojmë parametrin që duam t'i shkruajmë të dhënat. Shënim: Duhet të jemi të sigurt që t'i tregojmë PHP-së se çfarë po shkruajmë në skedar, përndryshe nuk do të krijojë një skedar të ri.

Shembull:

$ourFileName = "testFile.txt";

$ourFileHandle = fopen($ourFileName, "w") ose die("nuk mund të hap skedarin");

fclose($ourFileHandle);

Rreshti i parë $ourFileName = testFile.txt krijon një variabël vargu në të cilin do të ruajmë emrin e skedarit.

Rreshti i dytë $ourFileHandle = fopen($ourFileName, 'w') ose die ("nuk mund të hap skedarin") përkatësisht krijon ose hap një skedar ekzistues për shkrim. Ose kthen një mesazh që nuk mund ta hapë skedarin.

Rreshti i tretë fclose($ourFileHandle) mbyll skedarin. Në fakt është e thjeshtë.

Opsionet e hapjes së skedarëve në php

Parametri i parë 'r' (lexim) - hap skedarin vetëm për lexim; nuk mund të shkruani në të.

Parametri i dytë 'w' (shkruaj) - hapet për shkrim. Në këtë rast, regjistrimi do të shkojë gjithmonë nga fillimi i skedarit. Nëse ka tashmë disa informacione atje, ai do të mbishkruhet.

Parametri i tretë 'a' (shtoj) - hap skedarin për shkrim, por do të shtohet në fund të skedarit, ndryshe nga w.

Opsione te avancuara:

Parametri 'r+' - hapet si për lexim ashtu edhe për shkrim. Treguesi do të jetë në fillim të skedarit.

Parametri 'w+' - hapet si për lexim ashtu edhe për shkrim, POR fshin të gjithë informacionin që ishte në skedar!!!

parametri 'a+' - hapet për lexim dhe shkrim, por treguesi do të jetë në fund të skedarit.

Natyrisht, vetëm një nga këta parametra mund t'i kalohet një funksioni, dhe jo disa. Ata duhet të zëvendësohen me 'X':

fopen ($ourFileName, "X")

Shkruani në dosje

Epo, tani kemi hapur skedarin, kemi zgjedhur parametrin që na nevojitet, çfarë tjetër? Duhet të shkruani diçka në të. Si ta bëjmë atë? Duke përdorur funksionin fwrite, i cili merr si parametra një tregues në një skedar dhe një rresht teksti që duam të shkruajmë. Shembull:

$myFile = "testFile.txt";

$fh = fopen($myFile, "w") ose die("nuk mund të hap skedarin");

$stringData = "Rreshti i parë";

fwrite ($fh, $stringData);

$stringData = "Rreshti i dytë";

fwrite ($fh, $stringData);

Ne krijuam një skedar testFile.txt, treguesi për të ruhet në variablin $fn. Ne shkruajmë rreshtin "Rreshti i parë" në të (në fund kemi përdorur simbolin e fundit të rreshtit n), dhe më pas "Rreshti i dytë". Më pas e mbyllën dosjen.

KUJDES! Mos harroni kurrë të mbyllni skedarët tuaj! Përndryshe, nëse ekzekutimi i skriptit përfundon në mënyrë jonormale, të dhënat në skedarë nuk do të ruhen! Përdorni gjithmonë fclose pas punës!!!

Leximi nga një skedar

E kemi shkruar, tani le ta lexojmë! Nuk është as aq e vështirë. Ne përdorim funksionin fread. Si hyrje i japim një tregues skedarit dhe numrin e bajteve që duam të lexojmë. Për shembull, një karakter është i barabartë me një bajt (në varësi të kodimit), ne duam të lexojmë 5 karaktere: $theData = fread($fh, 5).

Por nëse duhet të marrim të gjitha informacionet që janë në skedar, atëherë do të na duhet funksioni i madhësisë së skedarit, i cili kthen numrin e bajteve në skedar, prandaj, nëse rezultati i funksionit të madhësisë së skedarit kalohet në fread, atëherë do të merrni të gjitha informacionet nga skedari:

$myFile = "testFile.txt";

$fh = fopen($myFile, "r");

$theData = fread($fh, madhësia e skedarit($myFile));

Shpresoj se e kam shpjeguar qartë.

$myFile = "testFile.txt";

$fh = fopen($myFile, "r");

$theData = fgets($fh);

Si rezultat, ne marrim rreshtin e parë nga skedari testFile.txt. Në përputhje me rrethanat, për të kaluar nëpër të gjitha linjat, duhet të përdorni një lak foreach:

$lines = skedar ("testFile.txt");

foreach ($lines si $single_line)

jehonë $single_line . "
n";

Tani keni mësuar se si të hapni skedarë për lexim, shkrim ose të dyja. Shkruani të dhëna atyre ose shtojini ato në krye duke përdorur Append, dhe gjithashtu lexoni informacione prej tyre.

Nëse po mësoni të punoni vetë me PHP, atëherë është e rëndësishme të mësoni se si të lexoni të dhëna nga një skedar dhe të bëni ndryshime në të. Regjistrimi në skedarin php kryhet për zhvillimin e aplikacioneve në internet, ndryshimet në informacionin e serverit dhe lëshimin e programeve dhe përfshirjeve të jashtme.

Si të punoni me skedarë php

Nëse një skedar ka një shtesë të tillë, do të thotë se përmban kod programi të shkruar në gjuhën e programimit me të njëjtin emër. Për të bërë ndryshime, do t'ju duhet të instaloni një nga redaktuesit e softuerit në kompjuterin tuaj:

Redaktori ekspert i PHP;
. Dreamweaver;
. Zhvillimi i Eclipse PHP;
. PHPEdit.

Nëse jeni duke krijuar një faqe interneti, atëherë shpesh duhet të përdorni modele identike, të cilat ruhen në mënyrë të përshtatshme si shabllone në një skedar tjetër. Për këtë është më mirë të përdoret përfshirja. Pasi të keni hyrë në këtë funksion, duhet të shkruani emrin dhe shtrirjen e lidhjes në skedarin php, për shembull, të përfshini 1.php. Ky dizajn mbështet lexime të shumta të skedarit të përfshirë dhe një veçori shtesë është vazhdimësia e ekzekutimit të kodit në rast gabimi. Nëse diçka shkon keq, kodi do të vazhdojë të ekzekutohet nga një linjë e re.
Në këtë mënyrë ju do të përfshini skedarin në kodin tuaj. Një mënyrë tjetër është të hyni të kërkojë. Ndryshe nga përfshirja e përshkruar më sipër, skedari përfshihet përpara se kodi i programit të fillojë të ekzekutohet, por ju mund ta aksesoni atë vetëm një herë.

Verifikimi i skedarit

Përpara se të shkruani në një skedar php, duhet të siguroheni që ai ekziston, dhe më pas ta hapni dhe të bëni redaktimin e nevojshëm. Për ta bërë këtë, mund të përdorni funksionin file_exists(); nëse konfirmon praninë, atëherë përgjigja TRUE do të kthehet në dritaren e redaktuesit, përndryshe - FALSE.
Një funksion tjetër is_file() mund t'ju njoftojë se është e mundur të shkruani të dhëna në një skedar php. Është më i besueshëm se file_exits, dhe shumica e programuesve përdorin is_file për të filluar. Pasi të keni verifikuar që skedari ekziston, mund të filloni të punoni me të.

Bërja e ndryshimeve në një skedar

Mjeti i parë që mund të përdorni për të bërë ndryshime në një skedar është fwrite(). Ai shkruan rreshta me sintaksën e mëposhtme:

Int - manipulator;
. Vargu është një variabël.

Ekziston një funksion tjetër i ngjashëm me këtë - fputs(), i cili është një pseudonim. Nuk ka dallime midis këtyre mjeteve; ju mund të zgjidhni njërën ose tjetrën. Për studentët, fwrite është më i zakonshëm, ndërsa programuesit praktikues më shpesh përdorin fputs.

Për të bërë një hyrje PHP në një skedar teksti, duhet të plotësohet një kusht i rëndësishëm - ai duhet të jetë i hapur për redaktim. Ky skedar duhet të gjendet në një dosje me leje shkrimi.

Për të punuar, provoni fillimisht të hapni një dokument teksti në program dhe më pas të bëni modifikime duke përdorur mjete të rregullta.

// Hapni një skedar teksti
$f = fopen("tekst.txt", "w");
// Shkruani një varg teksti
fwrite($f, "Përshëndetje! Mirëdita!");
// Mbyll skedarin e tekstit
fclose($f);

Në këtë shembull, text.txt është emri i dokumentit. Mund ta quani ndryshe: “Përshëndetje! Diten e mire! - një shembull teksti, mund të jetë plotësisht arbitrar. Të gjitha ndryshimet ruhen automatikisht në skedarin e hapur.

Vini re se PHP është me qëllim të përgjithshëm. Përdoret intensivisht për të krijuar aplikacione në internet. Kjo zgjidhje mbështetet nga shumica e ofruesve të pritjes. Po flasim për liderin midis mjeteve që përdoren për krijimin e faqeve të internetit. Tani ju e dini se si të shkruani në një skedar php.