PHP fopen() function

Paglilingkuran at Paggamit

Ang function na fopen() ay buksan ang file o URL.

Kung ang pagbukas ay hindi matagumpay, ang function na ito ay ibabalik FALSE.

Grammar

fopen(filename,mode,include_path,context)
Parameter Paglalarawan
filename Hindi opsyonal. Tumutukoy sa file o URL na dapat buksan.
mode Hindi opsyonal. Tumutukoy sa uri ng akses na hiniling sa file/stream. Ang mga halaga ay makikita sa sumusunod na talahanayan.
include_path Opsiyonal. Kung kinakailangan din na hanapin ang file sa include_path, ilagay ang parameter na ito sa 1 o TRUE.
context Opsiyonal. Tumutukoy sa kapaligiran ng file handle. Ang Context ay isang hanay ng opsyon na maaaring baguhin ang pagbabahagi ng stream.

Mga posibleng halaga ng parameter ng mode

mode paliwanag
"r" Buksan sa paraan ng pagbasa lamang, ilagay ang pointer ng file sa simula ng file.
"r+" Buksan sa paraan ng pagbasa at pagsulat, ilagay ang pointer ng file sa simula ng file.
"w" Buksan sa paraan ng pagsulat, ilagay ang pointer ng file sa simula ng file at palawakin ang laki ng file sa nulo. Kung ang file ay hindi umiiral, subukang lumikha nito.
"w+" Buksan sa paraan ng pagbasa at pagsulat, ilagay ang pointer ng file sa simula ng file at palawakin ang laki ng file sa nulo. Kung ang file ay hindi umiiral, subukang lumikha nito.
"a" Buksan sa paraan ng pagsulat, ilagay ang pointer ng file sa katapusan ng file. Kung ang file ay hindi umiiral, subukang lumikha nito.
"a+" Buksan sa paraan ng pagbasa at pagsulat, ilagay ang pointer ng file sa katapusan ng file. Kung ang file ay hindi umiiral, subukang lumikha nito.
"x"

Makita at buksan ang file sa paraan ng pagsulat, ilagay ang pointer ng file sa simula ng file. Kung ang file ay umiiral, ang pagtawag sa fopen() ay magiging hindi matagumpay at ibabalik FALSE, at magbuo ng isang mensahe ng error na may antas ng E_WARNING. Kung ang file ay hindi umiiral, subukang lumikha nito.

ito ay katumbas ng pagtutukoy sa O_EXCL|O_CREAT marka sa pangunahing sistema ng pagbukas ng file (open(2)).

ang opsyon na ito ay sinusuportahan ng PHP 4.3.2 at sa unang kahon, lamang maaaring gamitin para sa lokal na file.

"x+"

paglilikha at pagbukas bilang mababasa at magsulat, at ilagay ang pointer ng file sa ulo ng file. Kapag ang file ay umiiral, ang pagtawag sa fopen ay magiging nabigo at ibabalik FALSE, at magbubuo ng mensahe ng E_WARNING na antas. Kapag ang file ay hindi umiiral, ay magtatangka na lumikha nito.

ito ay katumbas ng pagtutukoy sa O_EXCL|O_CREAT marka sa pangunahing sistema ng pagbukas ng file (open(2)).

ang opsyon na ito ay sinusuportahan ng PHP 4.3.2 at sa unang kahon, lamang maaaring gamitin para sa lokal na file.

paliwanag

fopen() ay filename nilagay na pangalan ng resource ay nakabind sa isang stream. Kung filename ay "scheme://...sa format ng "", ay magiging isang URL, ang PHP ay maghahanap ng protocol processor (na kilala din bilang encapsulating protocol) upang mahawakan ang modeng ito. Kung ang protocol na ito ay hindi pa nakarehistro bilang encapsulating protocol, ang PHP ay magpadala ng mensahe upang tulungan sa pagpili ng potensyal na problema sa script at magpadala ng mensahe. filename patuloy na bilang isang pangkaraniwang pangalan ng file.

kung iniisip ng PHP na filename nilagay ay isang lokal na file, ay magtatangka na buksan ang isang stream sa file na ito. Ang file na ito ay dapat maaring ma-access ng PHP, kaya dapat mapatunayan na ang mga pahintulot ng access sa file ang pinahintulutan ang pag-access. Kapag aktibo ang seguridad na mode o ang open_basedir, ang karagdagang mga limitasyon ay magiging naaangkop.

kung iniisip ng PHP na filename nilagay ay isang nakarehistradong protokol, at ang protokol na ito ay nakarehistro bilang isang network URL, ang PHP ay magtitingin at magpapatunay na ang allow_url_fopen ay aktibo. Kung ito ay nakapagbawal, ang PHP ay magpadala ng babala, at ang pagtawag sa fopen ay magiging nabigo.

ang context ang pagtutulungan ay idinagdag sa PHP 5.0.0.

Mga paalala at komento

Komento:May magkakaibang karanasan sa pagwawakas ng linya ang iba't ibang pamilya ng sistema ng operasyon. Kapag nagsusulat ng isang file ng teksto at nagnanais na magdagdag ng bagong linya, kailangan gamitin ang simbolo ng pagwawakas ng linya na tumutugma sa sistema ng operasyon. Ang mga sistema na nakabase sa Unix ay gumagamit ng \n bilang simbolo ng pagwawakas ng linya, ang mga sistema na nakabase sa Windows ay gumagamit ng \r\n bilang simbolo ng pagwawakas ng linya, at ang mga sistema na nakabase sa Macintosh ay gumagamit ng \r bilang simbolo ng pagwawakas ng linya. Kung ginamit ang maling simbolo ng pagwawakas ng linya kapag nagsusulat ng file, maaaring magpakita ng kakaibang pag-uuri ng ibang mga application kapag binuksan ang mga file na ito.

Sa Windows ay mayroong isang markang pagbabagong teksto (") na maaaring mapapahina ang \n bilang \r\n. Kasing katulad, maaaring gamitin ang "b" upang sapilitang gamitin ang binarik na mode, kung saan hindi mababago ang data. Upang gamitin ang mga markang ito, magamit ang "b" o "t" bilang huling karakter ng parameter ng mode.

Ang default na pagbabagong paraan ay depende sa SAPI at ang ginamit na bersyon ng PHP, kaya upang madaliang ilipat sa ibang sistema, inaasahang palaging gamitin ang magandang marka. Kapag gumagamit ng plain text file at ginamit ang \n bilang pahilis ng linya sa script, pero umaasa na ang mga file na ito ay mababasa ng ibang aplikasyon tulad ng Notepad, gamitin ang "t" sa mode. Sa lahat ng ibang kaso, gamitin ang "b".

Kapag walang binigay na "b" marka kapag nagmamalakas ng binary file, maaaring humarap sa ilang kakaibang problema, kabilang ang sunog na mga paksang larawan at ilang kakaibang problema tungkol sa mga character na \r\n.

Komento:Bilang pagkilala sa pagpapatupad, maaaring itaas ang rekomendasyon na palaging gamitin ang "b" marka kapag nagbukas ng file gamit ang fopen().

Komento:Muliwasak, bilang pagkilala sa pagpapatupad, maaaring itaas ang rekomendasyon na magsulat muli ang mga kodigo na umaasa sa "t" na paraan para gamitin ang tamang pahilis ng linya at baguhin ito sa "b" na paraan.

实例

<?php
$file = fopen("test.txt","r");
$file = fopen("/home/test/test.txt","r");
$file = fopen("/home/test/test.gif","wb");
$file = fopen("http://www.example.com/","r");
$file = fopen("ftp://user:password@example.com/test.txt","w");
?>