Үй / Ойын консольдері / php файлын қалай оқуға болады. Php файлын жасау, оқу және жазу. Ашық файлмен жұмыс істеуге арналған пайдалы PHP қосымшалары мен функциялары

php файлын қалай оқуға болады. Php файлын жасау, оқу және жазу. Ашық файлмен жұмыс істеуге арналған пайдалы PHP қосымшалары мен функциялары

РНР программалау тілдері өз орындарын нығайтып, синтаксис, логика, айнымалылар және басқа бағдарлама объектілері туралы жалпы идеяларды тұжырымдағаннан әлдеқайда кейінірек пайда болды. Файлдар мен олармен жұмыс істеу функциялары ілгерілеген жоқ, тіпті табиғи себептермен туындаған файлдарды кодтау мәселесі түбегейлі жаңа шешімдерге әкелмеді.

Жалпы ескертпелер

Файлдармен негізгі жұмыс, олар қандай болса да, ашу, оқу/жазу және жабудан тұрады. Файлды өңдеу кезінде оған кіруді бұғаттау/бұғаттаудан шығару функцияларын пайдалануға болады, файлдағы оқу/жазу орнын орнатуға болады – бәрі бұрынғыдай, алыс өткендегідей.

РНР-дегі маңызды сәт - файлдармен жұмыс істеуге арналған функциялардың және оларды пайдалану опцияларының көптігі. Іс жүзінде қарапайым, бірақ жұмыс істейтін опцияларды пайдалану жеткілікті. Файл - бұл ең алдымен программа жады. Онда ақпаратты сақтауға болады. Кез келген бағдарламаның мақсаты, кез келген веб-сайттың мақсаты ақпаратты ұсыну, өңдеу және қауіпсіздігін қамтамасыз ету.

Маңызды жағдай

Бұрын төменнен жоғарыға дейін үйлесімділік талабы мызғымас еді. Яғни, бағдарламалау тілінің бір нұсқасында бір рет жазылған бағдарлама келесі нұсқада жақсы құрастырылады/түсіндіріледі. Қазіргі бағдарламалауда бұлай емес. Тілдің синтаксистік құрылымдарының үйлесімділігі талабы тарихта қалып, стильдер мен программалау құралдары мен белгілі бір құралдардың нұсқалары арасындағы күрес олардың өмір сүру нормасына айналды.

Файлдармен, сондай-ақ деректер базасымен жұмыс істеу сайт интерфейсі сияқты маңызды. Біріншісі платформаны, хостингті немесе тіл нұсқасын өзгерту кезінде сайт кодын өзгертудің қажеті болмайтындай етіп салынуы керек. Файлдармен жұмыс істеу интерфейсі бөлек сценарийге қосылуы және толық үйлесімділікті қамтамасыз етуі керек, өйткені сайт дизайны кез келген құрылғыға, браузерге сәйкес бейімделуі және сайттың қалған функционалдығын бірдей мүмкіндіктермен қамтамасыз етуі керек.

Оқып, өзіңді өзгерт

Бағдарлама өзін өзгерте ала ма, яғни сценарий жақсара ала ма? Бұл сұрақ осы күнге дейін көпшілікті қызықтырады. Бірақ тапсырма әлдеқайда практикалық көрінеді: PHP оқу PHP файлы. Әзірлеуші ​​әрқашан нақты кодты жазу арқылы белгілі бір мәселені шеше алмайды. Кейде сайтқа кіруші келіп, әзірлеу кезеңінде алдын ала қарастырылмаған сұрақты тұжырымдаған кезде оны өзгерту қажет.

Барлық басқа жағдайларда сияқты, ең алдымен файлды ашу керек. Бұл файлдың бар-жоғы маңызды емес. Егер файлдың бар екені белгілі болса (file_exists() функциясы оң жауап береді), fopen() функциясы 'r', 'r+', 'a', 'a+' қатынасымен пайдаланылады. Егер файл әлі жоқ болса, онда 'a', 'a+', 'w', 'w+' қатынасу арқылы. Файлды ашу нәтижесі оның дескрипторы болады. Файл fclose() функциясымен жабылады.

Оқыған кезде оны өңдеудің қажеті болмаған кезде файлды массивке оқу үшін РНР пайдалану ыңғайлы.

егер (файл_бар($fName)) (

$aLines = файл($fName)

Бұл опцияда файлдың әрбір жолы жиым элементіне ретімен кіреді. File() немесе file_get_contents() функцияларына файлды ашып, жабудың қажеті жоқ екенін ескеру қажет.

Енгізу файлы тым үлкен болғанда және сізге аз ғана ақпаратты табу қажет болғанда немесе басқа себептермен файлды жол бойынша оқу үшін PHP пайдалануға болады. PHP мұны fgets() және fgetc() функцияларымен жасауға мүмкіндік береді.

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

while ((жалған !== ($cLine = fgets($fvs, 2000)))) (

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

Екі нұсқа да мінсіз жұмыс істейді. Дегенмен, кейінірек өзгерту үшін PHP файлын РНР оқуын орындаған кезде сақтық шараларын қолдану қажет. Сайтты әзірлеу кезеңінде келушінің оны қалай пайдаланатынын алдын ала білу әрқашан мүмкін емес. Сценарийлер сайт функцияларында өзгертілсе және бұл өзгерісті басқару кірушіге, соның ішінде ресурс әкімшісіне қол жетімді болмаса жақсы.

Нәтижелерді сақтау

Алынған және жаңартылған ақпарат файлға fputs() функциясы арқылы жол бойынша немесе тұтастай file_put_contents() функциясы арқылы жазылады.

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

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

топ($fvs, LOCK_EX)

$cLine = "1 жол". chr(10)

fputs($fvs, $cLine)

$cLine = "2 жол" . chr(10)

fputs($fvs, $cLine)

топ($fvs, LOCK_UN)

Жол бойынша жазу опциясында жазу процесі кезінде деректерді өңдеуге болады, екінші жағдайда жазылған жол немесе массив бүкіл файлға орналастырылады;

$файл = " scData.php "

$cContents = file_get_contents($файл)

// жазба қосу

$cContents .= "жаңа жазба\n"

// файлды кері жазу

file_put_contents($файл, $cContents)

PHP файлдарын оқу және жазу оңай және табиғи. Дегенмен, мынаны есте ұстаған жөн: әрбір файлдың аты, кеңейтімі және жолы (қалта) болады. PHP сценарийі файлдарды оқу және жазу мүмкіндігі болуы үшін бұл сценарийде тиісті құқықтар болуы керек. Олар хостингте автоматты түрде ашылады, бірақ кейбір жағдайларда оларды кеңейту қажет.

Кейбір жағдайларда сынақты оқу арқылы нәтижелерді тексеру қажет болуы мүмкін. PHP файлдарын жазу әзірлеу кезінде мұны талап етеді, бірақ кейбір жағдайларда сайттың қауіпсіздігі немесе сенімділігі мүдделері үшін деректер жазбасын тексеру өте маңызды.

PHP, MySQl, JavaScript және әсіресе браузерлердің тән ерекшелігі: кейбір қателердің орын алуына тыныш мүмкіндік береді. «Танылмады, орындалмады...» - өте жақсы майдан тәжірибесі емес ақпараттық технология, бірақ бұл әзірлеушілерді қателеспеуге және таза, жоғары сапалы код жазуға үйретеді, бұл да жаман емес.

PHP және нақты құжаттармен жұмыс

PHP PHP файлын оқу, әрине, практикалық қызығушылық тудырады, бірақ бұл бағдарламалау саласы. Пайдаланушы мен сайтқа кіруші ол кестелер мен құжаттар түрінде, атап айтқанда *.xlsx және * пішімінде көруге үйренген қолданбалы сипаттағы ақпаратқа қызығушылық танытады. docx файлдары. Бұл MS Excel және MS Word форматындағы файлдар.

Тауарлар тізімі, бағалар, сипаттамалар әдетте кестелер түрінде қалыптасады, сондықтан РНР оқу Excel файлыелеулі маңызы бар.

Мұндай файлдармен жұмыс істеу үшін PHPExcel және PHPWord кітапханалары жасалған. Дегенмен *.xlsx және *.docx файлдарының мазмұны OOXML стандартында берілген, яғни нақты, түсінікті құжат zip мұрағатында ұсынылған. Zip мұрағаты – бұл суреттерді, нысандарды, формулаларды және басқа бағдарламалардағы кірістірулерді қамтитын файлдар жиынтығы. Мұндағы мәтіндік файлдар тегтер түріндегі сипаттамалармен ұсынылған. Мұндай файлды оқу жеткіліксіз, оны пайдалану және өзгерту үшін мазмұны мен құрылымын алу үшін талдау қажет.

Бұл оқу әрекеті мұрағатты ашу процедурасына айналады дегенді білдіреді. Бұл кітапханалар құжат мұрағатын дербес ашады және әзірлеушіге осындай құжаттарды оқу, өңдеу және жазу үшін кең функцияларды береді.

Excel кестелері

include_once 'PhpOffice/PhpExcel/IOFactory.php'

scGetExcelFile($xls)( функциясы

$objPHPExcel = PHPExcel_IOFactory::load($xls)

$objPHPExcel->setActiveSheetIndex(0)

//бұл массив жолдардың массивтерін қамтиды

$aSheet = $objPHPExcel->getActiveSheet()

$массив = массив()

//өңдеу

foreach($aSheet->getRowIterator() $жол ретінде)(

$cellIterator = $row->getCellIterator()

foreach($cellIterator $ұяшық ретінде)(

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

array_push($массив, $элемент)

Excel файлдарын оқу және өңдеуді өңдеу әлдеқайда қиын Word құжаттары. Ең жақсы нұсқа, егер сізге қолданбалы ақпаратты оқу және өңдеу бойынша маңызды жобаны жүзеге асыру қажет болса, алдымен PHPWord кітапханасын меңгеру. Бұл сізге жақсы тәжірибе және мәселенің ерекшеліктерін жылдам түсінуге мүмкіндік береді.

Word құжаттары

Тек екі жол:

$oWord = жаңа \PhpOffice\PhpWord\PhpWord()

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

$cFileName құжаты енді өңдеуге қолжетімді. Содан кейін мұрағат ашылады, оның мазмұны таңдалады және талданады, оны веб-сайтта көрсетуге, өзгертуге және қайта жазуға болады.

$zipClass = жаңа ZipArchive()

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

// құжаттың толық мазмұнын оқу

үшін ($i=0; $i<$zipClass->numFiles; $i++) (

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

$cNameInExt = substr($cNameIn, -4)

егер (($cNameInExt == ".xml") || ($cNameInExt == "rels")) (

// ".xml" және ".xml.rels" кеңейтімдері бар файлдар құжат кестесінде сақталады

// әрбір xml жолы ретімен бірегей нөмірмен жазылады

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

$cBodyInLen = strlen($cBodyIn)

// барлық басқа файлдар құжат қалтасына сол күйінде жазылады

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

$zipClass->getFromName($cNameIn, $cWorkPath); // мазмұн файл ретінде

PHP Excel және PHP Word ұсынатын мүмкіндіктер нақты құжаттарды өңдеуге және олардың мазмұнын кез келген уақытта өзекті етуге мүмкіндік береді. Бүгінгі динамикалық әлемде бұл өте маңызды болып табылады. Ауырлық орталығы компьютерлік технологияны жергілікті пайдаланудан виртуалды интернет кеңістігіне әлдеқашан көшті. Сондықтан жергілікті Microsoft өнімдерінде кестелер мен құжаттарды жасау веб-сайтта автоматты және жартылай автоматты режимде мұндай құжаттармен жұмыс істеуге қарағанда тиімділігі төмен, бұл кестені немесе құжатты жасаушыға ғана емес, сонымен қатар оның тұтынушыларына да қолжетімді.

Мәтіндік файлдар, басқа өмір

Бірінші жуықтау үшін мәтіндік файлдар PHP файлдарына немесе қолданбалы құжаттарға қарағанда қарапайым. Дегенмен, бұл жерде ойланатын нәрсе бар. Мұндай файлдардың оқу/жазу әрекеттері жоғарыда көрсетілген, бірақ мұндай файлдардың мәні әлдеқайда маңызды.

Клиент пен сервер (біріншісінде JavaScript басым, екіншісінде PHP) бар болғандықтан, тіпті cookie және сеанс механизмдері сценарийлер, беттер және белгілі бір процестер арасында ақпаратты тасымалдау қажеттілігіне төтеп бере алмайды.

Мәліметтер базасында қажетті өзгерістерді көрсетуге болады, бірақ олардың барлық артықшылықтары мен жылдамдығына қарамастан, шағын уақытша немесе тұрақты мәтіндік файлдар ақпаратты берудің әлдеқайда қызықты нұсқасы болуы мүмкін. Егер сіз көптеген шағын файлдарды жасамасаңыз және олардың өлшемін бақыламасаңыз, олар дерекқордың нақты және икемді нұсқасы болуы мүмкін.

PHP мәтіндік файлды оқу жылдам, оны бірден құрылымға, массивке немесе нысанға талдауға болады. Соңғысы өте маңызды, өйткені ол бөлінген уақыттан тыс өмір сүретін объектілерді жасауға мүмкіндік береді PHP сценарийі, ол, өзіңіз білетіндей, серверде ғана болуы мүмкін және бет жүктелген кезде, AJAX жауабы жасалғанда немесе PHP интерпретаторының іске қосылуын тудыратын басқа себеппен.

Егер сіз не туралы ойласаңыз мәтіндік файл- бұл әзірлеушіден алынған мазмұн мен құрылым, PHP файлы - интерпретатордың синтаксисі плюс әзірлеушінің логикасы, ал html, css, xml «белгіленген» сипаттамалар семантикалық элементтер, бірақ статикалық стандарттармен реттеледі. Файлдардың жаңа мазмұнға ие болу уақыты келді деген қорытындыға келуге болады және бұл олардың сапасы мен пайдалану логикасын анықтауы керек. Дәл бағдарламалау өзінің дамуының келесі кезеңіне әлі дайын болмағандықтан, файлдар бүгінгі күні әзірлеуші ​​​​құратын және олардың қолданылуын анықтайтын файлдар болып қалады.

Ең қызығы және келешегі бар нәрсе – қажет болған кезде РНР РНР файлын өз бетінше оқиды. Ал файлдан жолды оқитын қарапайым РНР кем дегенде ол сақталған күйде нысанды жасауға әкеледі. Бұл мүлдем таныс емес идеялар, бірақ қазіргі әлемде бәрі тез өзгереді.

JavaScript браузеріңізде бұғатталған. Сайт жұмыс істеуі үшін JavaScript қосыңыз!

Файлдармен жұмыс

Файлды өңдеу PHP маңызды құралы болып табылады.

Соның ішінде сыртқы файлдар

Нұсқаулықты пайдаланып әрбір PHP құжатына файлды қосуға болады қосу(). Оның аргументі файлға апаратын жол болып табылады. Бұл нұсқаулықты көптеген PHP бағдарламаларында бірдей код бөліктері болған кезде қолдануға ыңғайлы. Қосылған файлдың мазмұны қарапайым HTML мәтіні ретінде өңделеді. Бұл файлдың мазмұны PHP бағдарламасы ретінде өңделуі үшін ол PHP ашу және жабу тегтерімен қоршалған болуы керек.

1-мысал

include() пайдалану ...Негізгі бөлім..."; ?>

жаңғырық»

...Жалпы сәлем...

"

1-МЫСАЛ НӘТИЖЕСІ:

...Жалпы сәлем...

...Негізгі бөлім...

IN бұл жағдайда top.php қосу файлы тек HTML мәтінінің жолын қамтыса, нәтиже бірдей болады:

...Жалпы сәлем...

Қосылған файлдар функциялар сияқты мәндерді қайтара алады. Қайтару операторын пайдалану функциялар сияқты осы файлдың орындалуын тоқтатады.

2-мысал

Мәнді қайтаратын include() операторын пайдалану Қосылған файл $res қайтарды"; ?>

PHP бағдарламасымен top.php файлын қосыңыз:

2-МЫСАЛ НӘТИЖЕСІ:

Қосу файлы 56 қайтарылды

Нұсқаулар қосу()цикл ішінде пайдалануға болады. Циклда қосу()әрбір итерацияда орындалады. Бұл бірнеше файлдарды қосу үшін пайдаланылуы мүмкін. Мысалы:

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

Қосылған файлдың атын анықтау және оны жүктеу қоңырау шалған сайын қайталанады қосу(). Бұл алдыңғы шақырудан кейін қосу файлының мазмұны өзгерсе, жаңа мазмұн жүктелетінін білдіреді.

Оператор қосу()шартты сөйлемнің денесіне де қосылуы мүмкін.

Функцияға сыртқы түрі ұқсас болғанымен, қосу()функция емес, арнайы тілдік құрылым болып табылады.

Файлды тек бір рет енгізу қажет екенін көрсету үшін include_once() операторы пайдаланылады.

Файлды талдау

PHP файлдар туралы ақпарат беретін көптеген функцияларды қамтиды. Ең көп қолданылатындары:

  • файл_бар()- файлдың бар екенін анықтайды. Мысалы: егер (!file_exists("aaa.php")) echo "Назар аударыңыз! aaa.php файлы табылмады!";
  • is_file()- зерттелетін объектінің файл екенін анықтайды. Мысалы: if (is_file("bbb.txt")) echo "Сіз сенімді бола аласыз, bbb.txt файл";
  • is_dir()- зерттелетін объектінің каталог екенін анықтайды. Мысалы: if (is_dir("/tmp")) echo "Шынында, /tmp - каталог";
  • is_readable()- файлдың оқуға болатынын анықтайды. Мысалы: if (is_readable("db.dbf")) echo "db.dbf оқуға болады";
  • is_writable()- файлдың жазылу мүмкіндігін анықтайды. Мысалы: if (is_writable("db.dbf")) echo "Сіз db.dbf файлында жаза аласыз";
  • файл өлшемі()- байттағы файл өлшемін анықтайды.
  • filemtime()- файлдың соңғы өзгертілген күні мен уақытын анықтайды.
  • fileatime()- файлға соңғы рұқсаттың күні мен уақытын анықтайды.

3-мысал

Файл туралы ақпарат "; echo "$f - ".(is_dir($f) ? "" : "каталог емес."
"; echo "$f ".(is_readable($f) ? "" : "емес")."оқылуы мүмкін
"; echo "$f ".(is_writable($f) ? "" : "жазылатын емес."
"; echo "байттағы $f өлшемі ".(файл өлшемі($f))."
"; echo "$f соңғы рет өзгертілді - ".(date("d M Y H:i", filemtime($f)))."
"; echo "$f нөміріне соңғы қоңырау - ".(date("d M Y H:i", fileatime($f)))."
"; } ?>

3-МЫСАЛ НӘТИЖЕСІ:

Top.php - top.php файлы - каталог емес top.php оқуға болады top.php - top.php файлының байтпен жазылатын өлшемі - 732 соңғы өзгерту top.php - 04 қазан 2005 ж. 20:21 top.php сайтына соңғы рұқсат - 20 қазан 2005 жыл 14:01

Назар аударыңыз! Бұл функциялар жойылған файлдармен жұмыс істемейді. Оларды тек жергілікті файлдық жүйеге қолдануға болады.

Файлды басқару

PHP көптеген файлдарды басқару мүмкіндіктерін қамтиды. Ең көп қолданылатындары:

  • түрту()- берілген атаумен бос файл жасайды. Егер мұндай файл бұрыннан бар болса, функция өзгерту күнін өзгертеді. Мысалы: touch("ex1.txt");
  • көшіру()- файлды көшіреді. PHP-де файлдарды көшіру үшін көшіру ($source, $result) функциясын пайдаланыңыз. Ол тек екі параметрді беруі керек - бастапқы $source және көшірме файлының атауы - $result. Айта кету керек, файлдардың толық мекенжайларын көрсету керек. Көшіру функциясын пайдалану мысалы:

  • ажырату()- көрсетілген файлды жояды. Мысалы:
  • fopen()- жергілікті немесе ашады жойылған файлжәне оған көрсеткішті қайтарады. Көрсеткіш файлдың мазмұнындағы барлық операцияларда қолданылады. Аргументтер: файл атауы және ашу режимі.
    rоқу. Файл көрсеткіші файлдың басына орнатылады
    r+оқу және жазу. Файл көрсеткіші файлдың басына орнатылады
    wжазба. Файл көрсеткіші файлдың басына орнатылады. Файлдың барлық ескі мазмұны жоғалады. Көрсетілген аты бар файл жоқ болса, функция оны жасауға тырысады
    w+оқу және жазу. Файл көрсеткіші файлдың басына орнатылады. Файлдың барлық ескі мазмұны жоғалады. Көрсетілген аты бар файл жоқ болса, функция оны жасауға тырысады
    ажазба. Файл көрсеткіші файлдың соңына орнатылады. Көрсетілген аты бар файл жоқ болса, функция оны жасауға тырысады
    a+оқу және жазу. Файл көрсеткіші файлдың соңына орнатылады. Көрсетілген аты бар файл жоқ болса, функция оны жасауға тырысады

    Мысалы:

    $fp = fopen("http://www.php.net/", "r"); // оқу үшін $fp = fopen("ex1.txt", "w"); // жазу үшін $fp = fopen("ex2.txt", "a"); // соңына қосу

    Егер файлды аша алмасаңыз, бағдарламаны үзуге болады. Мысалы:

    $fp = fopen("ex1.txt", "w") немесе die("Файлды ашу мүмкін болмады");

  • fclose()- файлды жабады. Аргумент: fopen() функциясынан бұрын алынған файл көрсеткіші. Мысалы: fclose($fp);
  • feof()- файлдың соңын тексеру. Аргумент: файл көрсеткіші.
  • fgetc()- файлдан келесі символды оқу. Аргумент: файл көрсеткіші.
  • fgets()- файлдың келесі жолын оқу. Аргументтер: файл көрсеткіші және оқылатын жолдың ұзындығы. Белгіленген таңбалар саны оқылғаннан кейін немесе жолдың немесе файлдың соңы анықталған кезде операция аяқталады.

    4-мысал

    Файлдан жолдарды оқу "; ?>
  • fread() - жалпы функциясыфайлдан оқу. Аргументтер: файл көрсеткіші және оқылатын таңбалар саны.
  • fseek()- файлдың басынан шегініс. Аргументтер: файл көрсеткіші және офсет.

    5-мысал

    Файлдың екінші жартысы көрсетіледі
  • fputs()- файлға жол жазу. Аргументтер: файл көрсеткіші және жол.
  • fwrite()- функцияның толық аналогы fputs().

    6-мысал

    Жазу және файлға қосу
  • табын()- файлды блоктайды, яғни. құлыпты ұстаған адам файлмен жұмысты аяқтамайынша, басқа пайдаланушылардың файлды оқуына немесе жазуына жол бермейді. Аргументтер: файл көрсеткіші және құлыптау режимінің нөмірі.

    7-мысал

    Файлды құлыптау

    арқылы құлыптау табын()абсолютті емес. Тек осы функцияны пайдаланатын бағдарламалар ғана оны ескереді.

PHP >= 4.3.0 нұсқасында файлдармен жұмыс істеу үшін жаңа ыңғайлы функциялар бар:

  • file_get_contents()- бүкіл файлды немесе URL мекенжайын оқу
  • file_put_contents()- файлды жазу

Каталогтармен жұмыс

РНР-де каталогтармен жұмыс істеу үшін бірнеше функциялар бар:

  • mkdir()- каталог құру. Аргументтер: каталог жолының атауы және кіру режимі. Қатынас режимі алдыңғы нөлі бар үш таңбалы сегіздік сан. Бірінші нөмір - иесінің қол жеткізу құқығы, екіншісі - топ үшін, ал үшіншісі - барлық басқа адамдар үшін. IN Windows жүйесікіру режимі еленбейді. UNIX жүйесі келесі қол жеткізу құқықтарын анықтайды:

    Мысалы, дұрыс толық қол жеткізуиесі үшін оқыңыз және топ үшін жүгіріңіз және басқалар үшін жүгіріңіз:

    Mkdir("testdir", 0751);

  • rmdir()- каталогты жою. Аргумент: каталог жолының аты. Сіз бос каталогты жоюға құқығыңыз болса ғана жоя аласыз. Сәтті болса, функция шын мәнін қайтарады.
  • opendir()- каталог ашу. Аргумент: каталог жолының аты. Қате орын алса, функция жалған мәнін қайтарады. Ашу кезінде қате каталогтың жоқтығынан немесе бағдарламаның оны оқуға рұқсатының болмауынан туындауы мүмкін.
  • readdir()- анықтамалықты оқу. Аргумент: каталог жолының аты. Табылған файлдың немесе ішкі каталогтың атын қамтитын жолды қайтарады. Каталогтың соңына жеткенде, функция жалған мәнін қайтарады.

    8-мысал

    Каталогты оқу "; ?>

    Егер каталогта "0" деп аталатын файл болса, цикл сынақ өрнегі күтілгендей жұмыс істемейді. Бұл жағдайда «0» атауы 0-ге түрлендіріліп, цикл аяқталады. Мұны тексеру өрнегін өзгерту арқылы қосымша қауіпсіздік шараларын қолдану арқылы болдырмауға болады:

    Gettype($f = readdir($dh)) != "логикалық"

    fgetc() fgets() fgetss() функциясын пайдаланудан басқа, пайдалануға болады
    $файл = файл($файл аты). Ол $filename массивіне($файл) оқиды.

    Мысалы:

    $файл=файл($файл аты); үшін ($i=0; $i<=count($file); $i++) { echo $file[$i], "
    "; }

Файлды серверден тасымалдау. Файлды жүктеп алу. Жүктеп алу.

Қолмен жүктеп алу немесе пайдаланушы үшін файлды сақтау терезесін ашу үшін сценарийді пайдалану жолы. Браузер file.dat файл атымен «Файлды сақтау» диалогын ашу үшін сценарий келесі тақырыптарды жіберуі керек:

Тақырып("Content-Disposition: қосымша; файл аты=file.dat"); header("Content-Type: application/x-force-download; name=\"file.dat\"");

Дискіден файл жіберудің дайын мысалы:

Сценарийге http://.../download.php?file.dat деп сілтеме жасау да зиян тигізбейді, әйтпесе Mozilla негізіндегі браузерлер файлды file.dat.php ретінде жазуға әрекеттенуі мүмкін. немесе жүктеп алу төлсипатын көрсетіңіз: Жүктеп алу Ескерту:Мұндай сценарийлерде тақырыпты («Кэш-Басқару: кэш жоқ») қолданбаңыз, Internet Explorer нұсқасының көпшілігі файлды жүктеп ала алмайды.

Келесі сценарий мысалы көрсетеді жүктеуді қолдауды қалай ұйымдастыруға болады:

$cd — файл жолы, $fn — файл аты деп болжанадыФайлды серверге қалай тасымалдауға болады?

Каталогтармен жұмыс істеу функциялары

  • chdir() - каталогты өзгерту
  • логикалық chdir (жол str)

    Ағымдағы PHP каталогын str параметрі ретінде көрсетілгенге өзгертеді. Сәтті болса TRUE қайтарады, қате болса - ЖАЛҒАН

  • chroot() - Түбірлік каталогты өзгерту
  • логикалық chroot (жол str)

    Ағымдағы процестің түбірлік каталогын str параметрі ретінде берілгенге өзгертеді. Сәтті болса TRUE қайтарады, қате болса - ЖАЛҒАН.

    Ескертпе: Бұл функция Windows платформалары үшін орындалмаған.

  • closedir() - каталогтың дескрипторын босату
  • void closedir (ресурс каталогы)

    Каталогпен байланыстырылған және каталог параметрі ретінде берілген ағынды жабады. Бұл функцияны пайдаланбас бұрын ағынды opendir() функциясы арқылы ашу керек.

    dir - каталог класы

сынып dir ( dir (жол str) жол жолы ресурс дескриптор жол оқу (жарамсыз) void кері айналдыру (жарамсыз) void жабу (жарамсыз) )

Каталог параметрінде берілген каталогты оқудың жалған нысанға бағытталған механизмі. Каталог ашылған сәттен бастап екі класс сипаты қолжетімді болады. "Handle" сипатын readdir(), rewinddir() және closedir() функциялары сияқты басқа каталогты басқару функцияларымен бірге пайдалануға болады. «Жол» сипаты ашық каталогқа жолды қамтиды. Үш әдіс бар: оқу, кері айналдыру және жабу.

Төмендегі мысалда dir() класс әдістерінің қайтару мәні тексерілетін жолға назар аударыңыз. Бұл мысал сәйкестендіру мәнін тексереді (өрнектер тең және бір типті болғанда бірдей болады - көбірек егжей-тегжейлі ақпарат(Салыстыру операторлары тарауын қараңыз) мәні ЖАЛҒАН, себебі әйтпесе аты ЖАЛҒАН ретінде көрсетілуі мүмкін кез келген каталог жазбасы циклды тоқтатады.

Үлгі код:

тұтқасы».
\n"; echo "Жол: ".$d->жол."
\n"; while (false !== ($entry = $d->read())) ( echo $entry."
\n"; ) $d->close(); ?>

Ескерту: «оқу» әдісінің каталог жазбаларын қайтаратын реті амалдық жүйеге байланысты.

Ескертпе: Сондай-ақ, PHP каталог деп аталатын ішкі классты автоматты түрде анықтайды, яғни сіз өзіңіздің сыныптарыңызды бірдей атпен анықтай алмайсыз.


  • getcwd() - ағымдағы жұмыс каталогының атын алу
  • getcwd жолы (жарамсыз)

    Ағымдағы жұмыс каталогының атын қайтарады.


  • opendir() - каталогты ашу
  • ресурс opendir (жол жолы)

    Closedir(), readdir() және rewinddir() функцияларымен кейінірек пайдалану үшін каталог дескрипторын қайтарады.

    Жол жоқ болса немесе көрсетілген жолда орналасқан каталогты заңды шектеулерге немесе файлдық жүйе қателеріне байланысты ашу мүмкін болмаса, opendir() функциясы ЖАЛҒАН мәнін қайтарады және E_WARNING деңгейіндегі PHP қате туралы хабарды жасайды. Қате туралы хабарды opendir() функциясының атауына "@" белгісімен префикс қою арқылы басуға болады.

    Мысал код

    PHP 4.3.0 нұсқасынан бастап жол параметрі кез келген URL мекенжайы болуы мүмкін, оған қол жеткізу оның файлдары мен каталогтарының тізімін береді. бұл әдісфайл: // url пакетін пайдаланғанда ғана жұмыс істейді. PHP 5.0.0 ftp:// url бумасына қолдау қосты.


  • readdir - оның дескрипторы арқылы каталог элементін алыңыз
  • string readdir (ресурс каталогы)

    Келесі дәйекті каталог жазбасының атын қайтарады. Элемент атаулары файлдық жүйеге байланысты ретімен қайтарылады.

    Readdir() функциясы төмендегі мысалдағы мәнді қайтаратын жолын ескеріңіз. Бұл мысал мәннің (өрнектер тең болғанда және бір түрдегі мәндер болғанда бірдей болады - қосымша ақпарат алу үшін Салыстыру операторлары тарауын қараңыз) ЖАЛҒАНмен бірдей екенін тексереді, себебі басқа жағдайда аты ЖАЛҒАН ретінде көрсетілуі мүмкін кез келген каталог жазбасы , циклды тоқтатады (мысалы, «0» деп аталатын элемент).

    Мысал код

    readdir() функциясы да аталған элементтерді қайтаратынын ескеріңіз және егер сіз бұл мәндерді алғыңыз келмесе, оларды алып тастаңыз:

    Мысал код


  • rewinddir() - каталогтың дескрипторын қалпына келтіру
  • void rewinddir (ресурс каталогы)

    Каталогтың басын көрсету үшін каталог параметрінде өткен каталог ағынын қалпына келтіреді


  • scandir() - көрсетілген жолда орналасқан файлдар мен каталогтардың тізімін алу
  • массив сканерлеуі (жол каталогы [, int реті])

    Каталог параметрінде өткен жол бойында орналасқан файлдар мен каталогтардың атауларын қамтитын массивді қайтарады. Егер каталог каталог болмаса, функция FALSE қайтарады және E_WARNING қате туралы хабарды жасайды.

    Әдепкі бойынша сұрыптау алфавиттік ретпен өсу ретімен орындалады. Қосымша рет параметрі көрсетілсе (1-ге тең), сұрыптау кему реті бойынша алфавиттік ретпен орындалады. Мысал код

    Нәтиже келесідей болады:

    Массив ( => . => .. => bar.php => foo.txt => somedir) Массив ( => somedir => foo.txt => bar.php => .. => .)

    Мысал код

    МЫСАЛ НӘТИЖЕ:

    Массив ( => . => .. => bar.php => foo.txt => somedir) Массив ( => somedir => foo.txt => bar.php => .. => .)

    Әрбір программист файлдармен дұрыс жұмыс істей білуі керек. Бұл мақала жаңадан бастаған PHP бағдарламашыларына арналған, бірақ «рецепттер жинағы» озық пайдаланушылар үшін де пайдалы болады.

    Файлдармен жұмыс 3 кезеңге бөлінеді:

    1. Файлды ашу.
    2. Деректерді манипуляциялау.
    3. Файлды жабу.

    I. Файлды ашу

    PHP ортасында файлды ашу үшін функцияны пайдаланыңыз fopen(). Бұл функция үшін қажетті параметрлер файл атауы және файл режимі болып табылады.

    $fp = fopen("counter.txt", "r");

    РНР құжаттамасына сәйкес файл режимдерінің келесі түрлері бөлінеді:

    1. r – файлды тек оқу үшін ашыңыз.
    2. r+ - бір уақытта оқу және жазу үшін файлды ашады.
    3. w – жаңа бос файл жасайды. Егер мұндай файл қоңырау шалу кезінде бұрыннан бар болса, ол жойылады.
    4. w+ - r+-ға ұқсас, тек шақыру кезінде мұндай файл бар болса, оның мазмұны жойылады.
    5. a – бар файлды жазу режимінде ашады, көрсеткіш файлдың соңғы байтына (файлдың соңына) жылжытылады.
    6. a+ - файлды оқу-жазу режимінде ашады, көрсеткіш файлдың соңғы байтына (файлдың соңына) жылжытылады. Файлдың мазмұны жойылмайды.

    Ескерту: Кез келген жолдың соңында тағы бір қосымша параметр болуы мүмкін: b немесе t . Егер b көрсетілсе, файл екілік оқу/жазу режимінде ашылады. Егер t болса, онда файл үшін жолды беруді аудару режимі орнатылады, яғни. мәтіндік ретінде қабылданады.

    Көрсету үшін келесі сценарийді қарастырыңыз:

    //Файлды әртүрлі режимдерде ашады
    $fp = fopen("counter.txt", "r"); // Екілік режим
    $fp = fopen("counter.txt", "rt"); // Мәтіндік режим
    $fp = fopen("http://www.yandex.ru", "r");// Оқу үшін HTTP қосылымын ашады
    $fp = fopen("ftp://пайдаланушы: [электрондық пошта қорғалған]", "w"); //Логин мен құпия сөзді көрсететін FTP қосылымын ашыңыз
    ?>

    II. Файл деректерін өңдеу

    Функцияның көмегімен PHP арқылы файлға деректерді жазуға болады fwrite(). Бұл функция 2 қажетті параметрді және 1 қосымша параметрді қабылдайды. Қажетті параметрлер файл дескрипторы және файл режимі:

    $fp = fopen("counter.txt", "a"); // Файлды жазу режимінде ашыңыз
    $mytext = "Бұл жолды жазуымыз керек\r\n"; // Бастапқы жол
    $test = fwrite($fp, $mytext); // Файлға жазу
    if ($test) echo "Дерек файлға сәтті енгізілді.";
    else echo "Файлға жазу қатесі.";
    fclose($fp); //Файлды жабыңыз
    ?>

    Файлды жол бойынша оқу үшін функцияны пайдаланыңыз fgets(). Функция 2 қажетті параметрді қабылдайды:


    егер ($fp)
    {
    ал (!feof($fp))
    {
    $mytext = fgets($fp, 999);
    echo $mytext."
    ";
    }
    }

    fclose($fp);
    ?>

    Ескерту: Бұл мысалда 999 мәні көрсеткіш файлдың соңына (EOF) жеткенше оқылатын таңбалар санын көрсетеді.

    Файлды біртұтас ретінде оқу үшін функцияны пайдалану керек readfile(), ол 1 қажетті параметрді қабылдайды. Функция файлды ашады, оның мазмұнын шолғыш терезесінде көрсетеді, содан кейін файлды жабады:

    echoreadfile("counter.txt");
    ?>

    Сондай-ақ 1 қажетті параметрді қабылдайтын fpassthru() функциясын пайдалануға болады. Бұл мүмкіндікті пайдаланбас бұрын файлды оқу режимінде ашу керек. Файлды оқуды аяқтаған кезде, функция файлды автоматты түрде жабады (және файл дескрипторы жарамсыз болады).

    $fp = fopen("counter.txt", "r"); // Файлды оқу режимінде ашыңыз
    if ($fp) echo fpassthru($fp);
    elseecho «Файлды ашу қатесі»;
    ?>

    Көбінесе сайттың мазмұнын массивке оқу қажет болатын жағдайлар болады. Бұл мүмкіндік функцияны пайдалануды қамтиды файл(). Бұл функция шақырылғанда, файлдың әрбір жолы сақталады бөлек элементкөрсетілген массив.

    Ескертпе: функцияны қолдануға болмайды файл()екілік файлдарға (екілік қауіпсіз), себебі Ол екілік файлдарды оқу тұрғысынан қауіпсіз емес және ол бір жерде файлдың соңы (EOF) таңбасын кездестірсе, ол бүкіл екілік файлды оқитыныңызға кепілдік бермейді.

    $file_array = file("counter.txt"); // Файлды $file_array ішіне оқыңыз
    // Жиым деректерімен жұмыс
    ?>

    Ескерту: Массивтермен жұмыс егжей-тегжейлі сипатталған, авторлары: Мухаметшин Д.Ф., Симдянов И.В.

    Мақаланың соңында сіз веб-бағдарламашы күн сайын кездесетін көптеген мәселелердің шешімін беретін массивтер бойынша жақсы «аспаздық кітапты» таба аласыз.

    Файлды таңба бойынша оқу қажет болатын жағдайды елестетіп көрейік. Ол үшін функцияны пайдалана аламыз fgetc(). Функция бір параметрді қабылдайды. Функция қандай да бір таңбаны немесе бірдей таңбалар санын табу қажет болған жағдайда пайдалы.

    $fp = fopen("counter.txt", "r"); // Файлды оқу режимінде ашыңыз
    егер ($fp)
    {
    while(!feof($fp))
    {
    $char = fgetc($fp);
    егер ($char == "c") $i = $i + 1;// "c" таңбасын табыңыз
    }
    echo "Файлдағы "c" әріптерінің саны: ". $i;
    }
    else echo «Файлды ашу қатесі»;
    ?>

    III. Файлды жабу

    Функция арқылы файл жабылады fclose(), ол 1 қажетті параметрді қабылдайды.

    $fp = fopen("counter.txt", "r");
    егер ($fp)
    {
    echo «Файл ашық»;
    fclose($fp); // Файлды жабу
    }
    ?>

    Рецепттер жинағы

    1) Бізге осы немесе басқа файлдың бар-жоғын тексеру керек. Ол үшін функцияны қолданамыз файл_бар().

    менің файлым("counter.txt"); // Аргумент ретінде файл атын жібере отырып, myfile функциясын пайдаланыңыз

    function myfile($name) //Файлдың бар-жоғын тексеру үшін функция жасаңыз
    {
    if (file_exists($name)) echo "Файл бар";

    }
    ?>

    Ескерту: Функция файл_барқашықтағы веб-сервердегі файлдарды тексермейді. үшін дұрыс жұмыс істеуфункциялары үшін сценарийі бар файл тексерілетін файлмен бір серверде орналасуы керек.

    2) Функцияның көмегімен файл өлшемін анықтаңыз файл өлшемі()

    менің файлым("counter.txt");

    function myfile($name) //Файлдың бар-жоғын тексеру және файл өлшемін анықтау үшін функция жасаңыз
    {
    if (file_exists($name)) echo "Файл өлшемі: ".filesize($name)." байттары";
    else echo «Файл жоқ»;
    }
    ?>

    3) Функцияның көмегімен уақытша файлды жасаңыз tmp файлы()

    $myfile = tmpfile();
    fwrite($myfile, "Бұл жол уақытша файлға жазылған."); // Уақытша файлға жазу
    fseek($менің файлым, 0); // Файл көрсеткішін орнату
    echo fread($myfile, 1024); // файлдың мазмұнын шығару
    ?>

    4) Файлдағы жолдардың санын анықтау керек. Ол үшін функцияны қолданамыз санау()

    $fp = файл("counter.txt");
    echo "Файлдағы жолдар саны: ".count($fp);
    ?>

    5) Бізге файлды құлыптау механизмін пайдалану керек

    $fp = fopen("counter.txt", "a");
    flock($fp, LOCK_EX); // Файлды жазу үшін құлыптау
    fwrite($fp, «Жазатын жол»);
    flock($fp, LOCK_UN); // Құлыпты ашу
    fclose($fp);
    ?>

    6) Файлдан белгілі бір жолды алып тастау керек

    $num_stroka = 5; //Файлдан 5-жолды жою
    $файл = файл("counter.txt"); // Барлық файлды массивте оқыңыз

    үшін($i = 0; $i< sizeof($file); $i++)
    if($i == $num_stroka) орнатылмаған($файл[$i]);

    $fp = fopen("counter.txt", "w");
    fputs($fp, implode("", $файл));
    fclose($fp);
    ?>

    7) Файл түрін анықтау. Функцияны пайдалану

    PHP

    file_exists("test.txt")//Файл бар ма? filesize("test.txt");//Файл өлшемін біліңіз //Уақыт белгісі қайтарылады: fileatime("test.txt");//Файлға соңғы қол жеткізу күні //date("d M Y" , $atime); filemtime("test.txt");//Файлды өзгерту күні //дата("d M Y", $mtime); filectime("test.txt");//Файлды жасау күні (Windows) //дате("d M Y", $ctime);

    Файлдар: жұмыс режимдері

    PHP

    ресурс fopen (файл аты, жол режимі) // ресурс - сәтті болған жағдайда файлға көрсеткішті қайтарады немесе қате болған жағдайда ЖАЛҒАН
    Жұмыс режимі Сипаттама
    r тек оқуға арналған файлды ашу;
    r+ оқу және жазу үшін файлды ашу;
    w файлды тек жазу үшін ашыңыз. Егер ол бар болса, файлдың ағымдағы мазмұны жойылады. Ағымдағы орын басына орнатылады;
    w+ оқу және жазу үшін файлды ашыңыз. Егер ол бар болса, файлдың ағымдағы мазмұны жойылады. Ағымдағы орын басына орнатылады;
    А жазу үшін файлды ашыңыз. Ағымдағы орын файлдың соңына орнатылады;
    a+ оқу және жазу үшін файлды ашыңыз. Ағымдағы орын файлдың соңына орнатылады;
    б екілік файлды өңдеңіз. Бұл жалауша Windows жүйесінде екілік файлдармен жұмыс істегенде қажет.

    PHP-де файлдарды ашу және жабу

    PHP

    $fi = fopen("test.html", "w+") немесе die("Қате"); //Мысалдар $fi = fopen("http://www.you/test.html", "r"); $fi = fopen("http://ftp.you/test.html", "r"); //fclose($fi) жабу

    PHP-де файлдарды оқу

    PHP

    //Файлды оқу fread(int fi, int length) $str = fread($fi, 5); // Алғашқы 5 таңбаны оқу echo $str;

    // курсор жылжытылғандықтан $str = fread($fi, 12); // Келесі 12 таңбаны оқу echo $str; fgets(int fi[, int ұзындығы]) // Файлдан жолды оқу fgetss(int fi, int ұзындығы [, жолға рұқсат етілген]) // Файлдан жолды оқу және HTML тегтерін алып тастау // жолға рұқсат етілген - тегтер қалдыру керек fgetc(int fi) //Файлдан таңбаны оқиды Бастапқыда Жазу файлдың басында, егер бар болса, бар деректерді қайта жазу арқылы орын алады. Сондықтан, файлдың соңына бірдеңе жазу қажет болса, сәйкесті орнату керекоқу режимі

    , мысалы, a+ .

    PHP

    PHP файлдарындағы курсорды өңдеу

    int fseek(int fi, int offset [, int қайдан]) //Меңзерді орнату // int fi - файлға көрсеткіш //offset - жылжытылатын символдар саны. //қайдан: //SEEK_SET - қозғалыс файлдың басынан басталады; //SEEK_CUR - қозғалыс ағымдағы позициядан басталады; //SEEK_END – қозғалыс файлдың соңынан басталады. fseek($fi, -10, SEEK_END); //Соңғы 10 таңбаны оқу $s = fread($fi, 10); $pos = ftell($fi); //Ағымдағы орынды табу rewind($f)//курсорды қалпына келтіру bool feof($f) //файлдың соңы

    PHP

    массив файлы(жол файл аты) // файлдың мазмұнын массив түрінде алу // деректермен тікелей жұмыс істеуге арналған тағы бір опция file_get_contents(жол файл аты) // Оқу (барлық файлды бір жолда алу) // файл (бастапқыда қайта жазылған) file_put_contents(жол файл атауы, аралас деректер[,int жалауы]); //FILE_APPEND // Файлдың соңына дейін жазыңыз: file_put_contents("test.txt", "data", FILE_APPEND); //Егер сіз массив жазсаңыз, $array = array("I", "live"); file_put_contents("test.txt",$массив); //онда біз «Ilive» аламыз

    php файлдарын басқару

    PHP

    көшіру(жол көзі, жолдың тағайындалған орны); // Файлдың атын өзгерту(str ескі аты, str жаңа аты); // Файлдың атын өзгерту (жолдың файл атауы); // Файлды жою

    Файлдарды PHP серверіне жүктеп салу

    //PHP.ini параметрлері file_uploads (қосулы|өшірулі) // файлды жүктеуге рұқсат беру немесе тыйым салу upload_tmp_dir // Жүктеп салынған файлдарға арналған уақытша қалта. әдепкі бойынша upload_max_filesize уақытша қалта (әдепкі = 2 Мб) // макс. жүктеп салу файл өлшемі post_max_size // жіберілген пішіннің жалпы өлшемі (load_max_filesize өлшемінен үлкен болуы керек) // Қарапайым жүктеп салу

    HTML

    Серверде файлдармен жұмыс істеу

    PHP

    //Деректерді қабылдау $tmp = $_FILES["userfile"]["tmp_name"]; $name = $_FILES["userfile"]["name"]; //Файлды жылжыту move_uploaded_file($tmp, аты); move_uploaded_file($tmp, "жүктеп салу/".аты); // файлды жүктеп салу қалтасына қайта бағыттау // ағымдағы файлға қатысты // $_FILES массивінде не бар $_FILES["userfile"]["name"] // файл атауы, мысалы, test.html $_FILES[ "userfile"][" tmp_name"] // уақытша файл атауы (жол) $_FILES["userfile"]["size"] // файл өлшемі $_FILES["userfile"]["type"] // файл түрі $ _FILES["userfile"] ["қате"] // 0 - қателер жоқ, сан - иә

    Файлдармен жұмыс істеу - маңызды нүкте. Өйткені олар деректерді, журналдарды және т.б. сақтай алады. Біз файлдарды серверге қалай жүктеп салу керектігін білеміз. Енді олардың мазмұнымен қалай әрекеттесу керектігін үйрену керек.
    Файлмен жұмыс істеу процесі үш кезеңге бөлінеді:
    1. Файлды ашыңыз.
    2. Ашық файлдың мазмұнымен жұмыс.
    3. Файлды жабу.

    Функция fopen()Файлдар ашылатын бірнеше режимдер бар, олардың кестесі:

    fopen() үшін ықтимал режимдер тізімі
    режимі Сипаттама
    'r' Файлды тек оқу үшін ашады; меңзерді файлдың басына орналастырады.
    'r+' Оқу және жазу үшін файлды ашады; меңзерді файлдың басына орналастырады.
    'w' Файлды тек жазу үшін ашады; көрсеткішті файлдың басына орналастырады және файлды нөлдік ұзындыққа қысқартады. Егер файл жоқ болса, ол оны жасауға тырысады.
    'w+' Оқу және жазу үшін файлды ашады; көрсеткішті файлдың басына орналастырады және файлды нөлдік ұзындыққа қысқартады. Егер файл жоқ болса, ол оны жасауға тырысады.
    'a' Файлды тек жазу үшін ашады; меңзерді файлдың соңына орналастырады. Егер файл жоқ болса, ол оны жасауға тырысады. Бұл режимде функция fseek()қолданылмайды, жазбалар әрқашан қосылады.
    'a+' Оқу және жазу үшін файлды ашады; меңзерді файлдың соңына орналастырады. Егер файл жоқ болса, ол оны жасауға тырысады. Бұл режимде функция fseek()тек оқу орнына әсер етеді, жазбалар әрқашан қосылады.
    'x' Тек жазу үшін жасайды және ашады; меңзерді файлдың басына орналастырады. Егер файл бұрыннан бар болса, қоңырау шалыңыз fopen()сәтсіз аяқталады, қайтады ЖАЛҒАНжәне деңгей қатесін береді E_ЕСКЕРТУ. Егер файл жоқ болса, ол оны жасауға тырысады. Бұл жалаушаларды көрсетуге тең O_EXCL|O_CREATішкі жүйе қоңырауы үшін ашық(2).
    'x+' Оқу мен жазу үшін жасайды және ашады; әйтпесе сияқты мінез-құлыққа ие 'x'.
    'c' Файлды тек жазу үшін ашады. Егер файл жоқ болса, ол жасалады. Егер файл бар болса, ол қысқартылмайды ( 'w') және бұл функцияны шақыру қатені тудырмайды (жағдайдағыдай 'x'). Файл көрсеткіші файлдың басына орнатылады. Бұл файлды құлыптағыңыз келсе пайдалы болуы мүмкін (қараңыз табын()) өзгертпес бұрын, пайдаланғаннан бері 'w'құлып алынбай тұрып файлды қысқартуға болады (егер файлды қысқартқыңыз келсе, функцияны пайдалана аласыз ftruncate()блоктау сұрауынан кейін).
    'c+' Оқу және жазу үшін файлды ашады; әйтпесе сияқты мінез-құлыққа ие 'c'.

    Режимге тағы екі мән қосуға болады:
    б- файл екілік режимде ашылады
    т- файл мәтін түрінде ашылады

    Сөзден іске. Енді біріктіру үшін кішкене жаттығу. Файлдар қалтасында test.txt деп аталатын файлды жасайық, бірақ онымен орындаңыз PHP арқылы. Біз оған «Бәріне сәлем!» жолын жазамыз, содан кейін біз бұл жолды файлдан оқып, экранда көрсетеміз. Мен барлығын қайта пайдалануға болатын функциялар түрінде жасауды шештім, одан шыққан нәрсе:

    "; else echo "Деректерді жазу сәтсіз аяқталды!
    "; //файлды жабу fclose($file); ) fileread($filename)( //файлға жол $path = "files/".$filename.".txt"; //файлды оқу үшін ашу $file = fopen($path,"r"); // егер файл сәтті ашылған болса if($file)( // содан кейін файл соңына жеткенше (!feof($file)) ( // деректерді оқу файлынан $read = fgets ($file) // және мәтінді echo $read экранында көрсетіңіз."
    "; ) ) // егер файл ашылмаған болса, оны хабарлаңыз, echo "Файлды ашу қатесі
    "; // файлды жабу fclose($file); ) // Файл жасау fcreate("test","Баршаңызға сәлем!"); // fileread("test") файлынан деректерді оқу; ?>

    Енді файлдарды жасауға және өңдеуге болады.
    ————————
    Ең қуатты суперкомпьютерлер туралы не білесіз? Ештеңе емес пе? Содан кейін осы жерден оқыңыз