Immaniġġjar tal-fajls fil-PHP

F

introduzzjoni

L-immaniġġjar tal-fajls huwa parti importanti mill-iżvilupp. Jintużaw fuq in-naħa tal-klijent kif ukoll fuq in-naħa tas-server. Żviluppatur irid jifhem, għall-inqas, il-kunċetti bażiċi tal-immaniġġjar tal-fajls. 

PHP jappoġġja l-immaniġġjar tal-fajls. Peress li lingwa ta 'programmar fuq in-naħa tas-server, fajls u direttorji jistgħu jiġu ġestiti fuq server tal-web bl-użu ta' PHP. F'dan it-tutorja, ser niddiskutu kif timmaniġġja l-fajls bl-użu tal-PHP.

Immaniġġjar tal-fajls fil-PHP

Fil-PHP, nistgħu nwettqu diversi operazzjonijiet differenti fuq il-fajls. Pereżempju, nistgħu niftħu fajl u nwettqu operazzjonijiet bħal qari jew kitba, jew it-tnejn. Nibdew billi niddiskutu kif tiftaħ fajl f'modi differenti.

Ftuħ u għeluq fajls

L-ewwel pass huwa li tiftaħ fajl. PHP jipprovdi l-funzjoni fopen() biex tiftaħ fajl eżistenti. Il-funzjoni fopen() għandha żewġ parametri:

FilenameIssettja l-isem tal-fajl. Il-parametru jaċċetta fajls lokali, iżda wkoll URL (jekk allow_url_fopen hija ssettjata għal vera).
modJispeċifika t-tip ta' aċċess li se jingħata (fe read access, jew read and write access).

Eżempju sempliċi: 


<?php
$file = fopen("demo.txt", "r");
?>


Fil-kodiċi ta 'hawn fuq, "demo.txt" huwa l-isem tal-fajl filwaqt li "r" huwa l-mod.

PHP għandu diversi modi definiti. Li ġejja hija l-lista tal-modi kollha disponibbli fil-PHP.

  • r – Biex tiftaħ il-fajl għall-qari.
  • r+ – Biex tiftaħ il-fajl għall-qari kif ukoll għall-kitba.
  • w – Biex tiftaħ il-fajl għall-kitba. Jikklerja l-kontenut tal-fajl u jipprova joħloq fajl ġdid jekk ma jeżistix.
  • w+ – Biex tiftaħ il-qari tal-fajl kif ukoll il-kitba. Jikklerja l-kontenut tal-fajl u jipprova joħloq fajl ġdid jekk ma jeżistix.
  • a – Biex tehmeż kontenut fuq fajl eżistenti. Ma jneħħix il-kontenut tal-fajl u jipprova joħloq fajl ġdid jekk ma jeżistix.
  • a+ – Biex tiftaħ il-fajl għall-qari u tehmeż. Ma jneħħix il-kontenut tal-fajl u jipprova joħloq fajl ġdid jekk ma jeżistix.
  • x – Biex tiftaħ il-fajl għall-qari iżda jirritorna falza jekk il-fajl ma jeżistix.
  • x+ – Biex tiftaħ il-fajl għall-qari kif ukoll għall-kitba. Jirritorna wkoll falza jekk il-fajl ma jeżistix. 
  • c – Biex tiftaħ il-fajl għall-qari. Jikklerja l-kontenut u jipprova joħloq fajl ġdid jekk ma jeżistix. 
  • c++ – Biex tiftaħ il-fajl għall-qari u l-kitba. Jikklerja l-kontenut u jipprova joħloq fajl ġdid jekk ma jeżistix. 

Dejjem agħlaq il-fajls manwalment

Għalkemm PHP jagħlaq awtomatikament il-fajls kollha wara li jsiru l-operazzjonijiet, huwa rakkomandat li tagħlaq il-fajl manwalment. PHP jipprovdi l-funzjoni fclose() biex tagħlaq il-fajl miftuħ. 

Il-funzjoni fclose() għandha parametru wieħed – isem tal-fajl. Osserva l-kodiċi li ġej.



<?php
$file = fopen("demo.txt", "r");
fclose($file);
?>

Funzjonijiet PHP għall-fajls

fopen() u fclose() huma funzjonijiet primarji użati għall-ftuħ u l-għeluq tal-fajls fil-PHP, rispettivament. Iżda PHP jipprovdi funzjonijiet addizzjonali biex jgħinu lill-programmaturi. Ejja niddiskutu xi wħud minn dawn il-funzjonijiet PHP in-built.

file_exists()

Xogħol ma 'fajls huwa suxxettibbli għal żbalji u twissijiet. Tista' tinħoloq sitwazzjoni fejn il-fajl speċifikat ma jeżistix. Dan jista' jwassal għal żbalji jew twissijiet. Biex tevita żbalji u twissijiet bħal dawn, huwa rakkomandat li tuża l-funzjoni file_exists() qabel tuża fopen() biex tiċċekkja jekk il-fajl jeżistix jew le.

Ara l-kodiċi li ġej. 


<?php

// check if the file exists

if (file_exists("demo.txt"))
{
  // open the file in read mode
  $file = fopen("demo.txt","r");
  // close the file
  fclose($file);
} else {
    echo "file does not exist";
}

?>

Fil-kodiċi ta 'hawn fuq, il-funzjoni file_exists() tintuża mal-istqarrija-if biex tivverifika jekk "demo.txt" teżistix jew le. 

fread()

Fajl jista 'jkun enormi. Jista 'jkollna bżonn naqraw il-kontenut kollu jew biss parti minnu. Ejja ngħidu li għandna bżonn naqraw biss l-ewwel 10 karattri tal-kontenut kollu tal-fajl. F'każijiet bħal dawn, nistgħu nużaw il-funzjoni fread(). 

Il-funzjoni fread() għandha żewġ parametri - fajl u tul f'bytes.

Osserva l-kodiċi li ġej.


<?php

// check if the file exists

if (file_exists("demo.txt"))
{
  // open the file in read mode
  $file = fopen("demo.txt","r");
  // use fread() function
  $data = fread($file, "10");
  echo $data

  // close the file
  fclose($file);
} else {
    echo "file does not exist";
}
?>

Fil-kodiċi ta 'hawn fuq, il-funzjoni fread() tintuża biex taqra 10 bytes mill-fajl "demo.txt". 

fwrite()

Il-funzjoni fwrite() tintuża biex tikteb id-data fuq fajl. Huwa jieħu żewġ parametri - fajl u spag.

Osserva l-kodiċi li ġej.


<?php

// iċċekkja l-eżistenza jekk fajl

if(file_exists ("demo.txt"))

{

    // tiftaħ fajl bil-mod "w".

    $file = fopen(“demo.txt”, “w”);

    fwrite($file, "Din hija string");

}

inkella {

    eku "fajl ma jeżistix";

}

?>


Hemm żewġ xenarji fil-kodiċi ta 'hawn fuq. 

  • Jekk "demo.txt" ma teżistix, il-funzjoni fwrite() toħloq fajl ġdid u tikteb "Din hija string" fuqha. 
  • Jekk teżisti "demo.txt", il-funzjoni fwrite() tikteb fuq il-kontenut tal-fajl imma jekk trid tehmeż il-kontenut, imbagħad uża l-mod "a" minflok "w".

tip ta' fajl()

Biex tiċċekkja t-tip tal-fajl, PHP jipprovdi l-funzjoni filetype(). Dawn li ġejjin huma l-valuri possibbli li l-funzjoni filetype() tista’ tirritorna.

  • chariot
  • fifo
  • ħmieġ
  • fajl
  • rabta
  • sokit
  • blokk
  • mhux magħruf

unlink ()

Il-funzjoni unlink() tintuża biex tħassar fajl jew direttorju. Jirritorna veru jekk il-fajl jew id-direttorju jitħassar u falz jekk le. 

Osserva l-kodiċi li ġej. 


<?php

// iċċekkja l-eżistenza jekk fajl

if(file_exists ("demo.txt"))

{

    // tuża l-funzjoni unlink () biex tħassar demo.txt

    jekk (unlink ("demo.test")){

    eku "fajl imħassar";

    }

    inkella {

    eku "żball waqt li tħassar il-fajl";

    }

}

inkella {

    eku "fajl ma jeżistix";

}

?>


Fil-kodiċi ta 'hawn fuq, il-funzjoni unlink() tintuża biex tħassar "demo.txt".

sommarju

  • Il-funzjoni fopen() tintuża biex tiftaħ fajl. 
  • Hemm modi differenti biex tiftaħ fajl bl-użu tal-funzjoni fopen().
  • Il-funzjoni fclose() tintuża biex tagħlaq fajl.
  • PHP jipprovdi diversi funzjonijiet inerenti biex jaħdmu ma 'fajls.
  • Uħud mill-funzjonijiet inerenti użati komunement huma file_exists(), fread(), fwrite(), filetype(), u unlink().

Issa taf kif taqra u toħloq fajl fil-PHP, ejja nitgħallmu dwar Loops.

Żid kumment

Netwerk ta' Tuturi

Tgħallem PHP minn A sa Z