PHP: четене на PHP файл. Работа с файлове в PHP: четене, писане и препоръки

PHP се появи много по-късно от езицитепрограмирането засили позициите си, формулира общи идеи за синтаксис, логика, променливи и други обекти на програмите. Файловете и функциите за работа с тях нямат никакъв напредък и дори проблемът с кодирането на файлове, който възникна по естествени причини, не доведе до кардинални нови решения.

Общи бележки

Основната работа с файлове, каквито и да са те,е да отворите, да четете / пишете и да затворите. Можете да използвате функцията за заключване / отключване, за да получите достъп до файла, докато го обработвате. Можете да зададете позицията за четене / запис във файла - всичко, както и преди, в далечното минало.

php четене php файл

Важна точка в PHP е излишъкът от функцииработа с файлове и опции за тяхното използване. На практика е достатъчно да се използват прости, но работещи варианти. Файлът е, преди всичко, програмната памет. Тя може да съхранява информация. Целта на всяка програма, целта на всеки сайт - да представлява, обработва и гарантира безопасността на информацията.

Съществено обстоятелство

Преди това изискването за съвместимост беше непоклатимонай-малкото отдолу нагоре. Това означава, че веднъж написана програма за една версия на програмния език е идеално съставена / тълкувана в следващата версия. В съвременното програмиране това не е така. Изискването за съвместимост на синтактичните конструкции на езика е потъвало в историята и борбата между стиловете и средствата за програмиране и версиите на тези или други инструменти се е превърнала в норма на техния живот.

Работата с файлове, както и с бази данни, е важнакакто и интерфейсът на сайта е важен. Първият да бъде построен по такъв начин, че когато промените платформа, хостинг, версия на езика, не трябва да се промени кода на сайта си. интерфейс за управление на файлове трябва да бъде поставен в отделен сценарий и за да се гарантира пълна съвместимост, както и уеб дизайн трябва адекватно да се адаптира към всяко устройство, браузър, и да предостави на останалата част от функционалността на сайта същите възможности.

Прочетете и променете себе си

Може ли програмата да се промени, т.е. да можеСценарият се подобрява ли? До този момент този въпрос е от интерес за мнозина. Но задачата е много по-практична: PHP чете PHP файл. Не винаги разработчикът може да реши тази или тези задачи, като напише конкретен код. Понякога е необходимо да се промени, когато посетител дойде на обекта и формулира въпрос, който не е предвиден на етапа на разработка.

Както във всички останали случаи, на първо мястофайлът трябва да бъде отворен. Няма значение дали този файл съществува или не. Ако знаете, че файлът съществува (функцията file_exists () дава положителен отговор), използвайте функцията fopen () с достъп "r", "r +", "a", "a +". Ако все още няма файл, след това с достъп "a", "a +", "w", "w +". Резултатът от отварянето на файла ще бъде неговата дръжка. Файлът е затворен с fclose ().

php четене на файл по ред

Удобно е да използвате PHP, за да четете файл в масив, когато няма нужда да го обработвате по време на четене.

ако (file_exists ($ fName)) {

$ aLines = файл ($ fName)

}

В този случай всеки ред от файла влиза последователно в елемента от масива. Трябва да се отбележи, че функциите на файла () или file_get_contents () не трябва да отварят файл и да го затварят.

Когато входният файл е твърде голям, но трябва да го намеритедоста информация, или по други причини, можете да използвате PHP реда за четене по ред. PHP предоставя възможността да направи това с функциите fgets () и fgetc ().

$ cLines = ""

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

$ i = 0

докато {(фалшив! == ($ cLine = fgets ($ fvs, 2000))))) {

$ i ++

$ cLines. = "<br/>". $ i. ").". $ cLine

}

fclose ($ fvs)

php четене на файл в масив

И двата варианта работят безупречно. Въпреки това, при извършване на PHP четене на 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)

fflush ($ fvs)

стадо ($ fvs, LOCK_UN)

fclose ($ fvs)

В реда по ред на записа можете да манипулирате данните по време на процеса на запис, а във втория случай, низовете за запис или масивът се поставят във файла като цяло.

$ file = "scData.php"

$ cContents = file_get_contents ($ file)

// добавяне на запис

$ cContents. = "нов запис"

// напишете файла обратно

file_put_contents ($ file, $ cContents)

четене на PHP файлове

Четенето и писането на PHP файлове е лесна и лесна.по естествен път. Важно е обаче да имате предвид: всеки файл има име, разширение и път (папка). За да може PHP скриптът да чете и пише файлове, този скрипт трябва да има съответните права. Те са автоматично пуснати на хостинг, но в някои случаи те трябва да бъдат разширени.

В някои случаи е препоръчително да проверитерезултатите, като прочетете теста. Писането на PHP файлове изисква това по време на фазата на разработка, но в някои случаи, в интерес на сигурността или надеждността на сайта, проверката на данните е от съществено значение.

Функция на PHP, MySQL, JavaScript иособено браузърите: тихо отдаване под наем на някои грешки. "Не беше признато, това не се случи ..." - не е много добра практика на водещия ръб на информационните технологии, но тя учи разработчиците да направят правото и да напишат чист, качествен код, което също не е лошо.

PHP и работа с реални документи

PHP четенето PHP файл със сигурност представлявапрактически интерес, но това е домейнът на програмирането. Клиенти и посетители, интересуващи се от прилаганата естеството на информацията, която той използва, за да видите под формата на таблици и документи, по-специално във формати * .xlsx и * .docx файлове. Тези файлове са в MS Excel и MS Word формат.

Списъците на стоките, цените, характеристиките обикновено се формират под формата на таблици, така че PHP четенето на Excel файл е от съществено значение.

За да работите с такива файлове, библиотекиPHPExcel и PHPWord. Съдържанието на файловете * .xlsx и * .docx обаче е представено в стандарта OOXML, т.е. действителният достъпен за разбиране документ е представен от zip архива. Zip архив е много файлове, включително снимки, предмети, формули, вложки от други програми. Текстовите файлове тук са представени с описания под формата на етикети. Не е достатъчно да прочетете такъв файл, трябва да го анализирате, за да получите съдържанието и структурата за използване и модификация.

php четене на линия от файл

Това означава, че операцията за четене ставапроцедура за отваряне на архива. Тези библиотеки сами отворят архива на документа и предоставят на разработчика подробни функции за четене, обработка и записване на такива документи.

Таблици в Excel

За да прочетете електронна таблица в Excel, достатъчно е да знаете името на неговия файл и пътя към него ($ xls). В резултат на изпълнението на следния код ще бъде генериран масив от стойности на оригиналната таблица в Excel:

include_once "PhpOffice / PhpExcel / IOFactory.php"

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

$ objPHPExcel = PHPExcel_IOFactory :: натоварване ($ xls)

$ objPHPExcel-> setActiveSheetIndex (0)

// този масив съдържа масиви от низове

$ aSheet = $ objPHPExcel-> getActiveSheet ()

$ array = масив ()

// обработка

foreach ($ aSheet-> getRowIterator () като $ ред) {

$ cellIterator = $ ред-> getCellIterator ()

$ item = масив ()

foreach ($ cellIterator като $ клетка) {

array_push ($ елемент, iconv ("utf-8", "cp1251", $ cell-> getCalculatedValue ()))

}

array_push ($ array, $ item)

}

връщане $ масив

}

Четене и обработка Excel файлове значителнопо-трудно да се обработват Word документи. Най-добрият вариант, ако трябва да реализирате сериозен проект за четене и обработка на информация за приложенията, първо е да овладеете библиотеката на PHPWord. Това ще даде добър опит и бърз достъп до спецификата на проблема.

Word документи

Само два реда:

$ oWord = нов PhpOfficePhpWordPhpWord ()

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

Сега документът $ cFileName е достъпен за обработка. След това отваря архива, избира и анализира съдържанието му, което може да се покаже на сайта, да се промени и отпише.

PHP чете Excel файл

$ zipClass = нов ZipArchive ()

$ zipClass-> отворен ($ 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)

} else {

// всички други файлове се записват в папката на документа така, както е

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

$ zipClass-> getFromName ($ cNameIn, $ cWorkPath); // съдържание като файл

}

Функции, които се отварят с PHPExcel и PHP Word, ви позволяват да манипулирате реални документи, да правите своето съдържание във всеки един момент. В днешния динамичен свят това става много важно. Центърът на тежестта отдавна се е преместил от локалното използване на компютърни технологии до виртуално интернет пространство. Поради това създаването на таблици и документи в местните продукти на Microsoft е по-малко ефективно от работата с такива документи в автоматичен и полуавтоматичен режим на сайт, който е достъпен не само за създателя на таблицата или документа, но и за неговите потребители.

Текстови файлове, различен живот

При първото приближение текстовите файлове са по-лесни отPHP файлове или документи за кандидатстване. Има обаче нещо, за което да мислим. Дейностите по четене / писане на такива файлове вече са посочени по-горе, но значението на такива файлове е много по-важно.

Ако има такова, като клиента и сървъра (напървият е JavaScript, вторият е PHP), дори механизмите "бисквитки" и сесии не се справят с необходимостта от прехвърляне на информация между скриптове, страници или такива или други процеси.

Можете да отразите необходимите промени в базата данни, нос всички предимства и скорост, малки временни или постоянни текстови файлове могат да бъдат много по-интересен вариант за трансфер на информация. Ако не създавате много малки файлове и не контролирате размерите им, те могат да бъдат специфична и по-гъвкава версия на базата данни.

php четене на текстов файл

PHP четене на текстов файл е бързо,може да се демонтира директно в структурата, масив или обект. Последното е много важно, тъй като ви позволява да създавате обекти, които живеят извън времето, определено на PHP скрипт, който е известно, че съществува само на сървъра, и само тогава, когато страницата е заредена, формирането на отговор AJAX или по някаква друга причина, наричайки стартирането на PHP интерпретатора.

Обещаващи идеи, препоръки

Ако мислите за факта, че има текстов файлсъдържанието и структурата от разработчика, PHP файлът е синтаксисът на интерпретатора плюс логиката на разработчика, а описанията "tag" на html, css, xml са по-семантични елементи, но се регулират от статични стандарти. Може да се стигне до извода, че вероятно е време файловете да придобият ново съдържание и трябва да определят тяхното качество и логика на приложение. Именно защото програмите все още не са готови за следващия етап от разработката им, файловете сега остават просто файлове, които разработчикът създава и определя тяхното използване.

Най-интересно и обещаващо, когато PHPчетенето на PHP файл става само по себе си, когато стане необходимо. Простото прочитане на низ от файл от PHP води до създаването на обект, поне в състоянието, в което е запазен. Това не са точно обичайните идеи, но всъщност в съвременния свят всичко се променя толкова бързо.