PHP: четене на PHP файл. Работа с файлове в PHP: четене, писане и препоръки
PHP се появи много по-късно, отколкото езиците за програмиране засилиха позициите си, формулираха общи понятия за синтаксис, логика, променливи и други обекти на програмите. Файловете и функциите за работа с тях нямат никакъв напредък и дори проблемът с кодирането на файлове, който възникна по естествени причини, не доведе до кардинални нови решения.
съдържание
Общи бележки
Основната работа с файлове, каквито и да са те, е да се отвори, чете и пише и да се затвори. Можете да използвате функцията за заключване / отключване, за да получите достъп до файла, докато го обработвате. Можете да зададете позицията за четене / запис във файла - всичко, както и преди, в далечното минало.
Важна точка в PHP е излишъкът от функциите на работа с файловете и възможностите за тяхното използване. На практика е достатъчно да се използват прости, но работещи варианти. Файлът е, преди всичко, програмната памет. Тя може да съхранява информация. Целта на всяка програма, целта на всеки сайт - да представлява, обработва и гарантира безопасността на информацията.
Съществено обстоятелство
Преди това изискването за съвместимост поне отдолу нагоре беше непоклатимо. Това означава, че веднъж написана програма за една версия на програмния език е идеално съставена / тълкувана в следващата версия. В съвременното програмиране това не е така. Изискването за съвместимост на синтактичните конструкции на езика е потъвало в историята и борбата между стиловете и средствата за програмиране и версиите на тези или други инструменти се е превърнала в норма на техния живот.
Работата с файлове, както и с бази данни е също толкова важна, колкото интерфейса на сайта е важен. Първата трябва да бъде построена по такъв начин, че при смяна на платформи, хостинг, езикови версии, не е необходимо да променяте кода на сайта. интерфейс за управление на файлове трябва да бъде поставен в отделен сценарий и за да се гарантира пълна съвместимост, както и уеб дизайн трябва адекватно да се адаптира към всяко устройство, браузър, и да предостави на останалата част от функционалността на сайта същите възможности.
Прочетете и променете себе си
Може ли програмата да се промени, т.е. може ли да се подобри сценарият? До този момент този въпрос е от интерес за мнозина. Но задачата е много по-практична: PHP чете PHP файл. Не винаги разработчикът може да реши тази или тези задачи, като напише конкретен код. Понякога е необходимо да се промени, когато посетител дойде на обекта и формулира въпрос, който не е предвиден на етапа на разработка.
Както във всички останали случаи, първо трябва да отворите файла. Няма значение дали този файл съществува или не. Ако знаете, че файлът съществува (функцията file_exists () дава положителен отговор), използвате функцията fopen () с достъп lsquo-rrsquo-, lsquo-r + rsquo-, lsquo-arsquo-, lsquo-a + rsquo. Ако файлът вече не е там, тогава с достъп lsquo-arsquo-, lsquo-a + rsquo-, lsquo-wrsquo-, lsquo-w + rsquo. Резултатът от отварянето на файла ще бъде неговата дръжка. Файлът е затворен с fclose ().
Удобно е да използвате 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. = `
". $ i. "). ". $ cLine
}
fclose ($ fvs)
И двата варианта работят безупречно. Въпреки това, при извършване на 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. = "нов запис n"
// напишете файла обратно
file_put_contents ($ file, $ cContents)
Четенето и писането на PHP файлове е проста и естествена. Важно е обаче да имате предвид: всеки файл има име, разширение и път (папка). За да може PHP скриптът да чете и пише файлове, този скрипт трябва да има съответните права. Те са автоматично пуснати на хостинг, но в някои случаи те трябва да бъдат разширени.
В някои случаи е препоръчително да проверите резултатите, като извършите тестова четене. Писането на PHP файлове изисква това по време на фазата на разработка, но в някои случаи, в интерес на сигурността или надеждността на сайта, проверката на данните е от съществено значение.
Характерна особеност на PHP, MySQL, jаvascript и особено на браузърите: тихо отдаване под наем на някои грешки. "Това не беше признато, това не се случи hellip- "не е добра практика на водещия ръб на информационните технологии, но учи разработчиците да не правят грешки и да пишат чист, качествен код, който също не е лош.
PHP и работа с реални документи
PHP четенето на PHP файл определено е от практически интерес, но това е област за програмиране. Клиенти и посетители, интересуващи се от прилаганата естеството на информацията, която той използва, за да види под формата на таблици и документи, по-специално във формати * .xlsx и * .docx файлове. Тези файлове са в MS Excel и MS Word формат.
Списъците на стоките, цените, характеристиките обикновено се формират под формата на таблици, така че PHP четенето на Excel файл е от съществено значение.
За да работите с такива файлове, са разработени PHPExcel и PHPWord библиотеки. Съдържанието на файловете * .xlsx и * .docx обаче е представено в стандарта OOXML, т.е. действителният достъпен за разбиране документ е представен от zip архива. Zip архив е много файлове, включително снимки, предмети, формули, вложки от други програми. Текстовите файлове тук са представени с описания под формата на етикети. Не е достатъчно да прочетете такъв файл, трябва да го анализирате, за да получите съдържанието и структурата за използване и модификация.
Това означава, че операцията за четене става процедура за отваряне на архива. Тези библиотеки сами отворят архива на документа и предоставят на разработчика подробни функции за четене, обработка и записване на такива документи.
Таблици в Excel
За да прочетете електронна таблица в Excel, достатъчно е да знаете името на неговия файл и пътя към него ($ xls). В резултат на изпълнението на следния код ще бъде генериран масив от стойности на оригиналната таблица в Excel:
include_once lsquo-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 ($ елемент, изброяване ( "UTF-8", "cp1251", $ клетъчно> getCalculatedValue ()))
}
array_push ($ array, $ item)
}
връщане $ масив
}
Четенето и обработването на Excel файлове е много по-трудно от обработката на Word документи. Най-добрият вариант, ако трябва да реализирате сериозен проект за четене и обработка на информация за приложенията, първо е да овладеете библиотеката на PHPWord. Това ще даде добър опит и бърз достъп до спецификата на проблема.
Word документи
Само два реда:
$ oWord = нов PhpOffice PhpWord PhpWord ()
$ oDocx = $ this-> oWord-> loadTemplate ($ cFileName)
Сега документът $ cFileName е достъпен за обработка. След това отваря архива, избира и анализира съдържанието му, което може да се покаже на сайта, да се промени и отпише.
$ 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) - // съдържание като файл
}
Възможности, предлагани чрез използване на PHP Excel и Word PHP, ви позволяват да манипулират реалните документи, което ги прави подходящо съдържание по всяко време. В днешния динамичен свят това става много важно. Центърът на тежестта отдавна се е преместил от локалното използване на компютърни технологии до виртуално интернет пространство. Тъй като създаването на електронни таблици и документи в местни продукти от Microsoft е по-малко ефективен от работата с такива документи в автоматичен или полуавтоматичен режим, на сайта, който е на разположение не само за създател на масата или на документ, но и своите клиенти.
Текстови файлове, различен живот
При първото приближение, текстовите файлове са по-лесни от PHP файлове или документи на приложения. Има обаче нещо, за което да мислим. Дейностите по четене / писане на такива файлове вече са посочени по-горе, но значението на такива файлове е много по-важно.
Кол е такава реалност, в клиента и сървъра (в първите цари jаvascript, на втория - PHP), дори и механизми бисквитка и сесии не могат да се справят с необходимостта от прехвърляне на информация между скриптовете, страниците на тези или други процеси.
Възможно е да се отразят необходимите промени в базата данни, но с всички предимства и бързина, малките временни или постоянни текстови файлове могат да бъдат много по-интересен вариант на трансфера на информация. Ако не създавате много малки файлове и не контролирате размерите им, те могат да бъдат специфична и по-гъвкава версия на базата данни.
Четенето на текстов файл в PHP е бързо, може да бъде незабавно анализирано в структура, масив или обект. Последното е много важно, тъй като ви позволява да създавате обекти, които живеят извън времето, определено на PHP скрипт, който е известно, че съществува само на сървъра, и само тогава, когато страницата е заредена, формирането на отговор AJAX или по някаква друга причина, наричайки стартирането на PHP интерпретатора.
Обещаващи идеи, препоръки
Ако мислите, че за това, че на текстов файл - това е съдържанието и структурата на предприемача, PHP файла - синтаксис преводач плюс логиката за разработчици и "маркирани" описанието на HTML, CSS, XML - това е повече семантични елементи, но регулирани статични стандарти. Можете да стигне до заключението, че най-вероятно да подаде, че е време да си купите ново съдържание, и това трябва да се определи тяхното качество и логиката на приложението. Това е така, защото програмирането все още не е готова за следващия етап от развитието си, файловете вече са просто файлове, че възложителят създава и определя тяхното използване.
Най-интересното и обещаващо, когато PHP четене на PHP файл се случва сам, когато това стане необходимо. Простото прочитане на низ от файл от PHP води до създаването на обект, поне в състоянието, в което е запазен. Това не са точно обичайните идеи, но всъщност в съвременния свят всичко се променя толкова бързо.
- Как и какво да отворите файла * .pak? Описание на формата на файловете * .pak
- Какво представляват файловете? Видове файлове
- PHP. Работа с файлове и директории
- Как да зададете разрешения за 777 на Linux?
- Какви са правилата за записване на името на файла: основни теми
- NFO-файл: най-лесният за отваряне?
- Java: работа с файлове - писане, четене, изтриване
- Работа с файлове. Как да промените разширението на файла
- Как да разкомпвам файла?
- Четене на файл с файла получите съдържание функция PHP
- Dxf-формат как да се отвори?
- Начини за създаване на файл с прилеп
- Атрибути на файла
- Съвпадение сортиране: описание на действието на алгоритъма и разлики от други видове поръчване на…
- Работа с файлови обекти: отворете, прочетете и пишете на файлове в Python
- Проверката за наличието на PHP file_exists
- Как да обедините PDF файлове
- Програма за четене на DjVu - популярен нов формат
- Форматът на cdw файла. Отваряне?
- Как да променя типа на файла и в кои случаи трябва да го направя?
- След това отворете NEF и какви файлове от този формат са необходими