(PHP 4, PHP 5, PHP 7)
фопен - Файлды немесе URL мекенжайын ашады
Сипаттама
Ресурс фопен ($файл аты , $rejim жолы [, bool $use_include_path = жалған [, ресурсы $контекст ]])
fopen()файл атауы аргументінде көрсетілген аталған ресурсты ағынға тағайындайды.
Параметрлер тізімі
Егер файл атауы "scheme://..." түрінде берілсе, ол URL мекенжайы болып саналады және PHP осы схема үшін протокол өңдегішін (сонымен қатар "орама" ретінде белгілі) іздейді протоколында PHP сценарийіңіздегі ықтимал ақаулықты анықтауға көмектесу үшін ескерту береді, содан кейін файл атауы кәдімгі файлды көрсететіндей орындауды жалғастырады.
Егер PHP файл атауын жергілікті файлды көрсететін етіп орнатса, ол сол файлға ағынды ашуға әрекет жасайды. Файл PHP арқылы қол жетімді болуы керек, сондықтан файл рұқсаттары бұған мүмкіндік беретініне көз жеткізіңіз. Қауіпсіз режим немесе open_basedir қосылған болса, қосымша шектеулер қолданылады.
Егер PHP файл атауы тіркелген протоколға нұсқайтынын анықтаса және бұл протокол желі URL мекенжайы ретінде тіркелген болса, PHP allow_url_fopen директиваның күйін тексереді. Егер ол өшірілсе, PHP ескерту береді және fopen қоңырауы сәтсіз болады.
Түсініктеме:
Қолдау көрсетілетін протоколдар тізімі Қолдау көрсетілетін протоколдар мен қаптамалар бөлімінде қолжетімді. Кейбір протоколдар ( қаптамалар) қолдау контекстжәне/немесе php.ini опциялары. Орнатуға болатын опциялар тізімін алу үшін тиісті протокол бетін қараңыз. (мысалы, php.ini мәні пайдаланушы_агенторауышпен қолданылады http).
Windows платформасында файл жолындағы барлық кері қиғаш сызықтарды болдырмау керек немесе алға қиғаш сызықтарды пайдалану керек.
$handle = fopen("c:\\folder\\resource.txt" , "r" );
?>
Режим параметрі ағыннан сұралатын қатынас түрін көрсетеді. Бұл келесі опциялардың бірі болуы мүмкін:
режимі | Сипаттама |
---|---|
«р» | Файлды тек оқу үшін ашады; меңзерді файлдың басына орналастырады. |
"r+" | Оқу және жазу үшін файлды ашады; меңзерді файлдың басына орналастырады. |
"w" | Файлды тек жазу үшін ашады; көрсеткішті файлдың басына орналастырады және файлды нөлдік ұзындыққа қысқартады. Егер файл жоқ болса, ол оны жасауға тырысады. |
"w+" | Оқу және жазу үшін файлды ашады; көрсеткішті файлдың басына орналастырады және файлды нөлдік ұзындыққа қысқартады. Егер файл жоқ болса, ол оны жасауға тырысады. |
«а» | Файлды тек жазу үшін ашады; меңзерді файлдың соңына орналастырады. Егер файл жоқ болса, ол оны жасауға тырысады. |
"a+" | Оқу және жазу үшін файлды ашады; меңзерді файлдың соңына орналастырады. Егер файл жоқ болса, ол оны жасауға тырысады. |
"x" | Тек жазу үшін жасайды және ашады; меңзерді файлдың басына орналастырады. Егер файл бұрыннан бар болса, қоңырау шалыңыз fopen()сәтсіз аяқталады, қайтады ЖАЛҒАНжәне деңгей қатесін береді E_ЕСКЕРТУ. Егер файл жоқ болса, ол оны жасауға тырысады. Бұл жалаушаларды көрсетуге тең O_EXCL|O_CREATішкі жүйе қоңырауы үшін ашық(2). |
"x+" | Оқу мен жазу үшін жасайды және ашады; әйтпесе сияқты мінез-құлыққа ие "x". |
"c" | Файлды тек жазу үшін ашады. Егер файл жоқ болса, ол жасалады. Егер файл бар болса, ол қысқартылмайды (мысалы "w") және бұл функцияны шақыру қатені тудырмайды (жағдайдағыдай "x"). Файл көрсеткіші файлдың басына орнатылады. Бұл файлды құлыптағыңыз келсе пайдалы болуы мүмкін (қараңыз табын()) өзгертпес бұрын, пайдаланғаннан бері "w"құлып алынбай тұрып файлды қысқарта алады (егер файлды қысқартқыңыз келсе, функцияны пайдалана аласыз ftruncate()блоктау сұрауынан кейін). |
"c+" | Оқу және жазу үшін файлды ашады; әйтпесе сияқты мінез-құлыққа ие "c". |
Түсініктеме:
Операциялық жүйелердің әртүрлі отбасыларында жолдың аяқталуына қатысты әртүрлі конвенциялар бар. Мәтін жазып жатқанда және жол үзілімін енгізгіңіз келсе, өзіңіздің таңбаларыңыз үшін дұрыс таңбаларды (немесе таңбаны) пайдалануыңыз керек операциялық жүйе. Unix отбасылық жүйелерін пайдалану \nжолдың соңындағы таңба, жүйе ретінде Windows отбасыпайдалану \r\nжол соңындағы таңбалар және Macintosh жүйелері пайдаланады \rжолдың соңындағы таңба ретінде.
Файлдарды өңдеу кезінде дұрыс емес жолдың соңындағы таңбаны пайдалансаңыз, оларды ашқан кезде бұл файлдар «біртүрлі» болып көрінуі мүмкін.
Windows мәтіндік хабар тарату режимінің жалауын ұсынады ( "t"), ол автоматты түрде аударылады \nВ \r\nфайлмен жұмыс істеу кезінде. Және керісінше - сіз де пайдалана аласыз «б»деректеріңізді түрлендірмейтін екілік режимді мәжбүрлеу үшін. Бұл режимдерді пайдалану үшін көрсетіңіз «б»немесе "t"режим параметрінің соңғы әрпі.
Әдепкі аударма жалаушасының параметрі SAPI және сіз пайдаланып жатқан PHP нұсқасына байланысты болғандықтан, тасымалдану себептері үшін көрсетілген жалаушаны нақты орнатуды ұсынамыз. Сіз режимді пайдалануыңыз керек "t"егер сіз жұмыс істеп жатсаңыз мәтіндік файлжәне пайдалану \nБлокнот сияқты басқа қолданбалардағы файлдардың оқылу мүмкіндігі туралы алаңдамай сценарийдегі жолдың соңын белгілеу. Барлық басқа жағдайларда жалаушаны пайдаланыңыз «б».
Екілік файлдармен жұмыс істегенде «b» жалаушасын нақты көрсетпесеңіз, деректеріңіздің оғаш бүлінуі, соның ішінде бүлінген кескін файлдары және таңқаларлық таңба ақаулары болуы мүмкін. \r\n.
Түсініктеме:
Тасымалдау себептеріне байланысты файлдарды ашқанда әрқашан «b» жалауын пайдалану ұсынылады fopen() .
жолды_қосуТүсініктеме:
Сонымен қатар, тасымалдану себептеріне байланысты ескі кодты қайта жазу ұсынылады. "t"оның орнына дұрыс жолдың соңы мен режимін пайдалану үшін «б».
Use_include_path қосымша үшінші параметрін "1" немесе орнатуға болады ШЫНфайлды include_path ішінде іздегіңіз келсе.
Контекст
Түсініктеме: PHP 5.0.0-де мәтінмәндік қолдау қосылды. Сипаттама үшін контекстерАғындар бөлімін қараңыз.
Мәндерді қайтару
Сәтті болса, файлға көрсеткішті қайтарады немесе ЖАЛҒАНқате болған жағдайда.
Қателер
Егер файлды ашу мүмкін болмаса, деңгей қатесі жасалады E_ЕСКЕРТУ. Бұл қатені жою үшін операторды пайдалануға болады.
Өзгерістер тізімі
Мысалдар
№1 мысал Қолдану мысалдары fopen()
$handle = fopen("/home/rasmus/file.txt" , "r" );
$handle = fopen ("/home/rasmus/file.gif" , "wb" );
$handle = fopen("http://www.example.com/" , "r" );
$handle = fopen ( "ftp: // пайдаланушы: [электрондық пошта қорғалған]/somefile.txt", "w" );
?>
Ескертпелер
Назар аударыңыз
SSL пайдалану кезінде Microsoft IIS индикаторды жібермей қосылымды жабу арқылы протоколды бұзады close_notify. Деректердің соңына жеткен кезде PHP бұл туралы «SSL: Fatal Protocol Error» деп хабарлайды. Бұны айналып өту үшін error_reporting параметрін E_WARNING жоққа шығаратын деңгейге орнату керек. PHP 4.3.7 және одан жоғары нұсқалары қаптаманы пайдаланып ағынды ашу кезінде сервер жағында проблемалы IIS бар екенін анықтай алады. https://және ескерту көрсетпейді. Егер сіз пайдаланып жатсаңыз fsockopen()құру үшін ssl://розетка, бұл ескертуді анықтау және жою сіздің жауапкершілігіңіз.
Түсініктеме: Қауіпсіз режим опциясы қосылғанда, PHP сіз жұмыс істейтін каталогта орындалатын сценарий сияқты UID (иесі) бар-жоғын тексереді.
Түсініктеме:
Файлдарды оқу немесе жазу кезінде қиындықтар туындаса және сіз PHP серверін сервер модулі ретінде пайдалансаңыз, сервер процесінің сіз пайдаланып жатқан файлдар мен каталогтарға қатынасы бар екеніне көз жеткізіңіз.
Түсініктеме:
Файл атауы каталог болса, бұл функция да сәтті болуы мүмкін. Егер файл атауы файл немесе каталог екеніне сенімді болмасаңыз, функцияны пайдалануыңыз керек is_dir(), қоңырау алдында fopen() .
php.ini файлының орны хостинг провайдерінің сервері жұмыс істейтін операциялық жүйеге байланысты. Оның қайда екенін білу үшін 4 қарапайым қадамды орындаңыз:
- php файлын жасаңыз (атауы кез келген болуы мүмкін, бірақ біз мысал ретінде myphpinfo.php аламыз) және оған келесі жолдарды қосыңыз:
- Бұл файлды сайтыңыз орналасқан серверге жүктеңіз (түбірлік қалтада).
- Біз браузер арқылы іске қосамыз (https://yoursitename.com/myphpinfo.php URL мекенжайын енгізіңіз).
- Пайда болған терезеде php.ini жолын іздеңіз (алдымен «Жүктелген конфигурация файлын» қараңыз, егер ол «Жоқ» десе, «Конфигурация файлы (php.ini) жолын» қараңыз).
php.ini қалай конфигурациялауға болады?
php.ini файлында келесі синтаксистік ережелер бар "директива = мән". Түсініктеме қосқыңыз келсе (мысалы, сіз не әсер ететінін көрсетесіз бұл параметр), содан кейін нүктелі үтірден кейін орындаңыз (осы белгіден кейін келетін барлық нәрсе пәрмен ретінде есептелмейді). Міне, мысал:
максималды_орындау_уақыты = 40 ; Сценарийді орындау үшін ең көп секунд саны
Жалпы параметрлер
PHPengine = Қосулы ; PHP сценарийлері қосылды.Short_open_tag = Қосулы ; Тегтермен PHP кодын жеңілдетілген жақтауға мүмкіндік береді. Если будет значение Off, то PHP-код обрамлять в традиционные
Asp_tags = Қосулы ; ASP-де орындалғандай PHP кодын бөлектеу мүмкіндігін қосады -<% %>
Дәлдік = 12 ; Жылжымалы нүкте сандары үшін ондық үтірден кейін қанша цифр болатынын көрсетеді.
Output_buffering = 4096 ; Шығу буферлеуі автоматты түрде қосылады, буфер өлшемі «тең» дегеннен кейін көрсетіледі.
Safe_mode = Қосулы ; Қауіпсіз режим.
Safe_mode_allowed_env_vars = PHP_ ; Пайдаланушыға тек PHP_ арқылы басталатын орта айнымалыларымен жұмыс істеуге мүмкіндік береді. Егер бұл директива бос болса (мәні болмайды), онда пайдаланушылар кез келген орта айнымалы мәндерін өзгерте алады. Бұл сценарий қауіпсіздігіне өте зиян келтіруі мүмкін.
Safe_mode_protected_env_vars = LD_LIBRARY_PATH ; Үтірмен бөлінген айнымалы мәндерді өзгертуге тыйым салады.
Disable_functions = ; Теңдік белгісінен кейін сіз өшіргіңіз келетін функцияларды үтірмен бөліп жазуыңыз керек (әдетте бұл қауіпсіздік үшін жасалады)
Disable_classes = ; «Тең» белгісінен кейін сіз шақыруға тыйым салғыңыз келетін сыныптарды үтірмен бөліп жазуыңыз керек (әдетте бұл қауіпсіздік үшін жасалады)
Ресурсты шектеу
максималды_орындау_уақыты = 40 ; Сценарийді орындаудың максималды уақыты (секундпен)Максималды_енгізу_уақыты = 40 ; Жүктеліп жатқан деректерді өңдеу үшін сценарий берілген секундтармен берілген максималды уақыт.
Жад шегі = 16М ; Бір сценарий үшін бөлінген ең көп жад
Қателерді өңдеу және журналдар
error_reporting = E_ALL | E_ERROR | E_ЕСКЕРТУ | E_PARSE | E_CORE_ERROR | E_CORE_ЕСКЕРТУ | E_COMPILE_ERROR | E_COMPILE_ЕСКЕРТУ | E_USER_ERROR | E_USER_ЕСКЕРТУ | E_USER_NOTICE; Көрсетілуі мүмкін қателер тізімін көрсетеді.Display_errors = Қосулы; Қателерді тікелей шолғышта көрсетуге мүмкіндік береді (көбінесе жөндеуді жеңілдету үшін пайдаланылады).
Display_startup_errors = Қосулы ; PHP іске қосу кезінде пайда болатын қателерді көрсетуге рұқсат етіледі.
Log_errors = Қосулы ; Қателерді журнал файлына жазуға рұқсат етіледі.
Log_errors_max_len = 1024 ; Журнал ұзындығы болуы мүмкін таңбалардың ең көп саны.
Track_errors = Қосулы ; Соңғы қате туралы хабарлар $php_errormsg айнымалысында сақталады
Html_errors = Қосулы ; Қате туралы хабарларды HTML тілінде көрсетуге рұқсат беріңіз.
Error_log = файл аты; Қате журналының атын көрсетеді.
Мәліметтерді өңдеу
variables_order = "EGPCS" ; PHP айнымалыларды тіркеу ретін орнатады (E - кірістірілген айнымалылар, G - GET айнымалылары, P - POST айнымалылары, C - Cookie файлдары, S - сеанстар). Әріптердің кез келгенін алып тастасаңыз, сәйкес айнымалылардың жұмысы блокталады.Register_globals = Қосулы ; GET/POST/Cookie/сеанс арқылы келетін айнымалы мәндерді қалыпты айнымалылар ретінде қарастыру мүмкіндігін қосады (мысалы, «$variablename»).
Register_argc_argv = Қосулы ; GET әдісінен алынған ақпарат негізінде $argv және $argc айнымалы мәндерін жасауға рұқсат етіледі.
Post_max_size = 8M ; Қабылдауға болатын деректердің ең үлкен көлемін орнатады.
Magic_quotes_gpc = Қосулы ; POST/GET/Cookie арқылы алынған баға ұсыныстарын автоматты өңдеуді қосады.
Auto_prepend_file = ; Осы директиваларда көрсетілген файлдардың мазмұны сценарийді орындамас бұрын PHP арқылы сәйкесінше өңделуі керек
auto_apppend_file = ; Осы директиваларда көрсетілген файлдардың мазмұны сценарий орындалғаннан кейін PHP арқылы тиісінше өңделуі керек.Default_mimetype = "мәтін/html" ; Мазмұн түрі үшін кодтауды орнатады. Әдепкі бойынша мәтін/html кодтауды көрсетпей пайдаланылады
Doc_root = ; PHP сценарийлері үшін түбірлік қалтаны орнатады.
Extension_dir = "./" ; Динамикалық жүктелген кеңейтімдер сақталатын қалтаны көрсетеді.
Файлдарды жүктеп салу
file_uploads = Қосулы ; Файлдарды серверге жүктеп салуға рұқсат етіледі.Upload_tmp_dir = ; Жүктеп алынатын файлдарға арналған уақытша каталог.
Upload_max_filesize = 2M ; Жүктеп салуға болатын ең үлкен файл өлшемін орнатады.
Розеткалармен жұмыс
user_agent="PHP" ; USER_AGENT айнымалы мәні розетка қосылымы орын алған кезде орнатылады.Әдепкі_розетканың_уақыты = 30 ; Розеткада тыңдаудың максималды уақыты (секунд).
Сеанстар
session.save_handler = файлдар; Сеанс ақпаратының файлдарда сақталуы керектігін көрсетедіsession.save_path = /tmp ; Теңдік белгісінен кейін сеанстар туралы ақпарат сақталатын қалтаға жолды көрсету керек (қалтаның бұрыннан бар болуы маңызды)
session.use_cookies = 1 ; Сеанстарда cookie файлдарын пайдалануға мүмкіндік береді
session.name = PHPSESSID ; Сеанс идентификаторын сеанс аты және сеанс cookie файлы ретінде пайдалануды көрсетеді
session.cookie_lifetime = 0 ; Сеанстың қызмет ету мерзімі («0» сеанс браузер терезесі жабылғанға дейін өмір сүретінін білдіреді)
session.use_trans_sid = 1 ; Пайдаланушы cookie файлдарын өшірген болса, сеанс идентификаторы барлық сілтемелерге қосылады
Динамикалық кеңейтімдер
extension=modulename.extension ; Сыртқы модульдерді жүктеу үшін пайдалануға болады. Windows жүйелері үшін олар әдетте extension=msql.dll және үшін деп жазады
UNIX - кеңейтім=msql.so
MySQL модульдерімен жұмыс істеу
mysql.allow_persistent = Қосулы ; Тұрақты MySQL қосылымдарына мүмкіндік береді.Mysql.max_persistent = -1; Тұрақты MySQL қосылымдарының максималды санын орнатады. Егер сіз -1 мәнін көрсетсеңіз, бұл шектеулер жоқ дегенді білдіреді.
Mysql.max_links = -1 ; Тұрақты MySQL қосылымдарының және тұрақсыз ODBC қосылымдарының ең көп санын орнатады. Егер сіз -1 мәнін көрсетсеңіз, бұл шектеулер жоқ дегенді білдіреді.
Mysql.default_port = ; mysql_connect функциясына арналған порт.
Mysql.default_socket = ; Жергілікті MySQL қосылымдарына арналған ұяшық атауы.
Mysql.default_host = ; mysql_connect функциясына арналған хост атауы.
Mysql.default_user = ; Қолданушының аты.
Mysql.default_password = ; Құпия сөз.
Егер сіз өзіңіздің php.ini файлыңызды жасап, оны сайт қалтасына орналастырсаңыз
Бұл жағдайда қауіпсіздік мақсатында сізден басқалардың барлығына кіруге тыйым салу керек. Ол үшін .htaccess файлына келесі кодты жазу керек:
рұқсат беру, қабылдамау
барлығынан бас тарту
Бірақ сақ болыңыз, өйткені... Осы параметрлермен .htaccess файлы арқылы php параметрлеріне қатысты барлық директивалар (php_value, php_flag, т.б.) жұмысын тоқтатады (500 ішкі сервер қатесі көрсетіледі).
Маңызды! Егер сіз өзіңіздің php.ini файлыңызды жасасаңыз, ол тек ол орналасқан каталогқа әсер етеді.
ресурс фопен(жол файл атауы, жол режимі [, bool use_include_path [, ресурс zконтекст]])fopen()файл атауы аргументінде көрсетілген аталған ресурсты ағынға тағайындайды. Егер файл атауы "scheme://..." түрінде берілсе, ол URL мекенжайы болып саналады және PHP осы схема үшін протокол өңдегішін (сонымен қатар "орама" ретінде белгілі) іздейді протоколында PHP сценарийіңіздегі ықтимал ақаулықты анықтауға көмектесу үшін ескертпе шығарады және файл аты кәдімгі файлды көрсететіндей орындауды жалғастырады.
Егер PHP файл атауы жергілікті файлды көрсетеді деп шешсе, ол сол файлға ағынды ашуға тырысады. Файл PHP арқылы қолжетімді болуы керек, сондықтан файл рұқсаттарының бұған рұқсат беретініне көз жеткізіңіз. Қауіпсіз режим немесе open_basedir қосылған болса, қосымша шектеулер қолданылады.
Егер PHP файл атауы тіркелген хаттаманы көрсетеді деп шешсе және бұл протокол желі URL мекенжайы ретінде тіркелген болса, PHP allow_url_fopen директиваның күйін тексереді. Егер ол өшірілсе, PHP ескерту береді және fopen қоңырауы сәтсіз болады.
Пікір:Кейбір протоколдар контекст және/немесе php.ini опцияларын қолдайды. Орнатуға болатын опциялар тізімін алу үшін тиісті протокол бетін қараңыз. (мысалы, php.ini user_agent мәні http орауышында пайдаланылады). Мәтінмәндер мен z мәтінмән параметрлерінің сипаттамасы үшін Ағын функциялары бөлімін қараңыз.
Пікір: PHP 5.0.0-де мәтінмәндік қолдау қосылды.
Пікір: PHP 4.3.2 нұсқасы бойынша екілік режим екілік және мәтіндік режимдерді ажырататын барлық платформалар үшін әдепкі режим болып табылады. Жаңартқаннан кейін қиындықтар туындаса, жоғарыда атап өтілгендей, үлкен тасымалдауға қол жеткізу үшін сценарийлерді өзгерткенше, «t» жалауын уақытша шешім ретінде пайдаланып көріңіз.
Режим параметрі ағыннан сұралатын қатынас түрін көрсетеді. Бұл келесілердің бірі болуы мүмкін:
Егер файлды ашу мүмкін болмаса, функция қайтарылады ЖАЛҒАНжәне деңгей қатесін тудырады E_ЕСКЕРТУ. Мұны осы ескертуді болдырмау үшін пайдалануға болады.
Мысал 1. Функцияны пайдалану мысалдары fopen()
|
Файлдарды оқу немесе жазу кезінде қиындықтар туындаса және сіз PHP серверін сервер модулі ретінде пайдалансаңыз, сервер процесінің сіз пайдаланып жатқан файлдар мен каталогтарға қатынасы бар екеніне көз жеткізіңіз.
16,5 мыңШындығында, php файлын ашу үлкен мәселе емес. Орманның ортасында жүргенде сыра бөтелкесін ашу қиынырақ болуы мүмкін. Бірақ бұлай ойлайтын бағдарламашылар ғана. Жаңадан бастағандар үшін біз сізге PHP-нің файлдармен жұмыс істеуге арналған барлық мүмкіндіктері туралы айтып береміз:
php файлдары
php кеңейтімі бар файлдар аттас бағдарламалау тілінде жазылған кодты қамтиды. Басқа тілдерден айырмашылығы, php серверлік бағдарламалау тілі болып табылады. Яғни, ол сервер жағында жұмыс істейді. Сондықтан оның кодын жөндеу үшін клиенттік құрылғыда жергілікті сервер орнатылуы керек.
php файлдарымен жұмыс істеу үшін арнайы қосымшалар – бағдарламалық редакторлар қолданылады. Ең көп таралғандары:
- Dreamweaver.
- PHPEdit.
- Eclipse PHP әзірлеу.
файл атауын қосыңыз
Қосылу мысалы:
Қосылған файл:
Файлды қосу талап құрылымын пайдалану арқылы да мүмкін болады. Қосылудан айырмашылығы, ол бағдарлама коды орындалмай тұрып файлды қамтиды. Кодта талапты пайдалану арқылы бұл файлға бір ғана қоңырау шалуға болады. Қайта кіру кезінде жүйе жаһандық қате туралы хабарды көрсетеді және бағдарламаның орындалуын тоқтатады.
Қосу құрылымы тек бағдарламаны орындау кезінде көзді қамтиды. Ол php файлын бірнеше рет оқуды қолдайды. Қате орын алса, тек ескерту хабары көрсетіледі және кодты орындау келесі жолдан жалғасады.
Файлдарды ашу және жабу
php-де файлдармен барлық операциялар бірнеше кезеңде жүзеге асырылады:
- Файлды ашу;
- Мазмұнды өңдеу;
- Файлды жабу.
fopen() функциясы файлды ашу үшін пайдаланылады. Оның синтаксисі:
int fopen(жол файл аты, жол режимі [, int use_include_path])
Қабылданған дәлелдер:
- жол файл атауы – файл атауы немесе оған абсолютті жол. Егер файлдың жолы көрсетілмесе, ол ағымдағы каталогта ізделеді. Егер сіз іздеген файл жоқ болса, жүйе қате туралы хабарды көрсетеді. Мысалы:
- жол режимі – файлды ашу режимін көрсетеді. Аргументпен қабылданған мәндер:
- r – файл тек оқу үшін ашылады, файл көрсеткіші басында орнатылады;
- r+ – файл оқу және жазу үшін ашық;
- w – тек жазу үшін жаңа файл жасайды. Егер аттас файл бұрыннан бар болса, ондағы барлық деректер автоматты түрде жойылады;
- w+ - жазу және оқу үшін жаңа файл жасайды. Мұндай файл болған кезде оның деректері жаңаларымен толығымен қайта жазылады;
- a – файл жазу үшін ашық. Көрсеткіш соңында орнатылады. Яғни, php файлына жазу басынан емес, соңынан басталады;
- a+ – файлды оқу-жазу режимінде ашу. Жазу соңынан басталады;
- b – екілік мәліметтері бар файлмен жұмыс істеу режимі (екілік санау жүйесінде). Бұл режим тек Windows амалдық жүйесінде қол жетімді.
Файлға кіруді жабу үшін fclose() функциясын пайдаланыңыз. Синтаксис:
int fclose (int файлы), мұндағы int файлы жабылатын сайттың дескрипті болып табылады.
Әрбір оқу немесе жазудан кейін файл осы функциямен жабылуы керек. Әйтпесе, файл үшін жасалған ағын ашық қалады. Және бұл сервер сыйымдылығын қажетсіз тұтынуға әкеледі.
Мысалы:
Файлдарды оқу және жазу
Файлдың барлық мазмұнын жай ғана көрсету үшін readfile() функциясы өте қолайлы. Оның синтаксисі:
readfile (жолдың файл атауы), мұндағы жол файлының аты жол файлының атауы (дескриптор емес).
Дәл сол файлды fpassthru() функциясы арқылы оқуға болады. Ол соңғы көрсеткіш орнынан файлдың соңына дейін деректерді оқиды. Оның синтаксисі:
int fpassthru (int файлы)
Функция файлды ашуды және жабуды қажет етеді. Мысалы:
Нәтиже алдыңғыға ұқсас.
php-де файлдармен жұмыс істеу функциялары мазмұнды жол бойынша және таңба бойынша оқуға мүмкіндік береді:
- fget жолы (int файлы, int ұзындығы)– функция ұзындықтағы жолды оқиды. Мысалы:
- string fread (int файлы, int ұзындығы)– әрекет алдыңғымен бірдей.
Файлға мәтіндік деректерді жазу үшін екі бірдей функция бар:
- int fputs (int файлы, жол жолы [, int ұзындығы ])
- int fwrite(int файлы, жол жолы [, int ұзындығы ])
Функциялар int файлына көрсетілген ұзындықтың int ұзындығының жолын жазады ( қосымша аргумент). Мысалы:
Файлдарды құру және жою
Php файлын жасау үшін «w» немесе «w+» қатынас режимінде fopen() функциясын пайдалануға болады. Немесе touch() функциясы. Ол файлды өзгерту уақытын белгілейді. Егер ізделетін аты бар элемент болмаса, ол жасалады. Оның синтаксисі.