Раздели на сайта
Избор на редактора:
- CSS филтри за изображения Функции и синтаксис на CSS филтри
- Всички цветове на калъфа Galaxy S8 и кой е по-добър за закупуване?
- Mikrotik hAP AC - Рутер за всички случаи Преди да започнете да тествате
- Как да изчислим най-добре басрефлекса за акустична система
- Фабрично нулиране на ZTE Blade X3
- Как да отключите паролата за Honor, ако сте я забравили на вашия смартфон?
- Технология Thunderbolt: как работи и какви са нейните предимства
- Как да повишите TIC и PR Как да повишите Yandex TIC сами
- Версия на ядрото 3.10. Мигане на ядрото на устройство с Android. Какво е ядрото на мобилното устройство?
- Възстановяване с помощта на инсталационния диск
реклама
Php прочете първия ред от файла. PHP: Четене на PHP файл |
18,4K Всъщност как да отворите php файл не е голям проблем. Може да е по-трудно да отворите бутилка бира, когато сте насред гора. Но само запалените програмисти мислят по този начин. А за начинаещи ще ви разкажем за всички възможности на PHP за работа с файлове: php файловеФайловете с разширение php съдържат код, написан на езика за програмиране със същото име. За разлика от други езици, php е език за програмиране от страна на сървъра. Тоест работи от страната на сървъра. Следователно, за отстраняване на грешки в неговия код, на клиентската машина трябва да бъде инсталиран локален сървър. За да работите с php файлове, използвайте специални приложения– софтуерни редактори. Най-често срещаните са:
включва име на файл Пример за свързване: Включен файл: Включването на файл също е възможно с помощта на конструкцията изискване. За разлика от include, той включва файла преди да бъде изпълнен програмният код. При използване на require в кода е възможно само едно извикване на този файл. При нов достъп системата ще покаже глобално съобщение за грешка и ще спре изпълнението на програмата. Конструкцията за включване включва само източника по време на изпълнение на програмата. Поддържа многократно четене на php файл. Ако възникне грешка, ще се покаже само предупредително съобщение и изпълнението на кода ще продължи от следващия ред. Отваряне и затваряне на файловеВ php всички операции с файлове се извършват на няколко етапа:
Функцията fopen() се използва за отваряне на файл. Синтаксисът му е: int fopen(низ име на файл, низ режим [, int use_include_path]) Приети аргументи:
За да затворите достъпа до файл, използвайте функцията fclose(). Синтаксис: int fclose (int файл) , където int файл е манипулатор на сайта за затваряне. След всяко четене или запис, файлът трябва да бъде затворен с тази функция. В противен случай потокът, създаден за файла, остава отворен. А това води до ненужно потребление на сървърен капацитет. Пример: Четене и писане на файловеЗа просто показване на цялото съдържание на файл, функцията readfile() е идеална. Синтаксисът му е: readfile (низово име на файл) , където низовото име на файл е низовото име на файла (не манипулатор). Същият файл може да бъде прочетен с помощта на функцията fpassthru(). Той чете данни от позицията на крайния показалец до края на файла. Синтаксисът му е: int fpassthru (int файл) Функцията изисква отваряне и затваряне на файл. Пример: Резултатът е подобен на предишния. Функциите за работа с файлове в php ви позволяват да четете съдържание ред по ред и символ по знак:
За да запишете текстови данни във файл, има две идентични функции:
Функциите записват във файл int file низ низ с посочената дължина int length ( незадължителен аргумент). Пример: Създаване и изтриване на файловеЗа да създадете php файл, можете да използвате функцията fopen() в режим на достъп "w" или "w+". Или функцията touch(). Той задава времето за промяна на файла. Ако няма елемент с търсеното име, той ще бъде създаден. Синтаксисът му. В PHP често трябва да се справяте със създаването на файл... много е просто: няма файл на диска, кодът е изпълнен и файлът се появява, след което можете да прочетете този файл в друга променлива или дори във всяка страница на Интернет и след това напишете нещо там... но за това трябва да знаете специални функции... повече за това в тази статия... За да създадете файл в PHP в изпълним скрипт, трябва само да зададете няколко функции: Нека да разгледаме един пример: $text = "Някакъв вид текст за запис във файла"; Тук трябва да знаете: fopen()- функцията отваря файла за четене или запис и пояснения; Това пояснение (параметърът за режим на функцията fopen) е много важно:
fwrite($fp, $text) - функция за запис във файл в PHP - тоест това, което е в променливата $text, се записва във файл, който е в променливата $fp; fclose($fp) - функция за затваряне на файла, който записахме в променливата $fp; Сега можете лесно да създавате правилно файлове в php, да ги отваряте за четене и редактиране. Полезни PHP добавки и функции за работа с отворен файл:докато (!feof($fp))( тук условието е изпълнено - "до достигане на края на файла, направете това" докато (!feof($fp)) 1. Функция fgets($fp, 99) - позволява ви да разделите цялото съдържание на секции от 99 байта и повече, за да видите това по-ясно, поставяме етикет Тази низова функция fgets(resource handle [, int length]) по подразбиране приема 1024 байта (1 килобайт) като параметър за дължина, ако не е указано, ще бъде така. Този параметър е незадължителен от PHP 4.2.0 (връща FALSE в случай на грешка) Допълнителни функции за отваряне, писане и създаване на файлФункция - вътр readfile(string filename [, bool use_include_path [, resource context]]) - четене на файла като цяло. Чете файл и записва съдържанието в изходния буфер. И връща броя на изходните байтове. В случай на грешка, ще се върне, ако кучето не се използва - @readfile. Ще се случи нещо подобно: В края на думата има етикет b. Функция - масив файл(низ име на файл [, int use_include_path [, контекст на ресурс]]), прави същото като функцията readfile, с едно изключение добавя съдържанието на файла към масив: По този начин можете да четете всякакви страници в Интернет: $lines = file("http://site/"); и итерация през масива с помощта на функцията foreach; 3а. низова функция file_get_contents(string filename [, bool use_include_path [, resource context [, int offset [, int maxlen]]]] - позволява ви да получите съдържанието като единичен низ. Това е по-универсална PHP функция за четене на файл, подобна на файловата функция, само съдържанието се връща като низ, а не масив и можете да задавате условия - кой байт да започне - офсети къде да свърша - макслен. При повреда ще върне FALSE. важно!!!- в този случай функцията замества 3 наведнъж: fopen(), fread() и fclose() и по този начин се отървава от знака. 3б. int функция file_put_contents(низово име на файл, смесени данни [, int флагове [, контекст на ресурс]]) - идентично с последователните извиквания на функциите fopen(), fwrite() и fclose() - връща броя на записаните байтове. низ fgets(манипулатор на ресурс [, int дължина])Връща низ с дължина - 1 байт, прочетен от файловия дескриптор, към който сочи манипулатор. Четенето приключва, когато броят на прочетените байтове достигне дължина - 1, когато достигне края на реда (което е включено в върнатата стойност), или когато достигне края на файла (което от двете настъпи първо). Ако дължината не е посочена, тя по подразбиране е 1 килобайт или 1024 байта. Ако възникне грешка, функцията се връща . Най-честите грешки: Програмисти, свикнали със семантиката на "C" функциите fgets(), трябва да вземе предвид разликата в начина, по който се връща флагът за край на файла (EOF). Указателят на файла трябва да е валиден и да сочи към успешно отворен от функциите файл fopen()или fsockopen() . По-долу е даден прост пример:
PHP се появи много по-късно, отколкото езиците за програмиране засилиха позициите си и формулираха общи идеи за синтаксис, логика, променливи и други програмни обекти. Файловете и функциите за работа с тях не напреднаха и дори проблемът с кодирането на файлове, възникнал по естествени причини, не доведе до радикално нови решения. Общи бележкиОсновната работа с файловете, каквито и да са те, се състои в отваряне, четене/запис и затваряне. Можете да използвате функциите за блокиране/деблокиране на достъп до файл, докато се обработва, можете да зададете позицията за четене/запис във файла - всичко е както преди, в далечното минало. Важен момент в PHP е изобилието от функции за работа с файлове и опции за тяхното използване. На практика е достатъчно да използвате прости, но работещи опции. Файлът е преди всичко програмна памет. Можете да съхранявате информация в него. Целта на всяка програма, целта на всеки уебсайт е да представя, обработва и гарантира безопасността на информацията. Съществено обстоятелствоПреди това изискването за съвместимост, поне отдолу нагоре, беше непоклатимо. Тоест програма, веднъж написана на една версия на език за програмиране, в идеалния случай се компилира/интерпретира в следващата версия. В съвременното програмиране това не е така. Изискването за съвместимост на синтактичните структури на даден език се превърна в нещо от историята, а борбата между стилове и инструменти за програмиране и версии на определени инструменти се превърна в норма на техния живот. Работата с файлове, както и с бази данни, е толкова важна, колкото и интерфейсът на сайта. Първият трябва да бъде изграден по такъв начин, че при промяна на платформата, хостинга или езиковата версия да не е необходимо да се променя кодът на сайта. Интерфейсът за работа с файлове трябва да бъде включен в отделен скрипт и да осигурява пълна съвместимост, както и дизайнът на сайта трябва да се адаптира адекватно към всяко устройство, браузър и да предоставя на останалата част от функционалността на сайта същите възможности. Четете и променяйте себе сиМоже ли една програма да се променя сама, тоест може ли един скрипт да се подобрява? И до днес този въпрос интересува много хора. Но задачата звучи много по-практично: PHP чете PHP файл. Разработчикът не винаги може да реши определен проблем, като напише специфичен код. Понякога е необходимо да го промените, когато посетител дойде на сайта и формулира въпрос, който не е бил предвиден на етапа на разработка. Както във всички други случаи, първо трябва да отворите файла. Няма значение дали този файл съществува или не. Ако е известно, че файлът съществува (функцията file_exists() дава положителен отговор), функцията fopen() се използва с достъп 'r', 'r+', 'a', 'a+'. Ако файлът все още не съществува, тогава с достъп 'a', 'a+', 'w', 'w+'. Резултатът от отварянето на файл ще бъде неговият дескриптор. Файлът се затваря с функцията fclose(). Удобно е да използвате PHP за четене на файл в масив, когато няма нужда да го обработвате по време на четене. ако (file_exists($fName)) ( $aLines = файл ($fName) При тази опция всеки ред от файла влиза последователно в елемента на масива. Трябва да се отбележи, че функциите file() или file_get_contents() не трябва да отварят файла и да го затварят. Когато входният файл е твърде голям и трябва да намерите само малко информация или по други причини, можете да използвате PHP, за да прочетете файла ред по ред. PHP предоставя възможност за това с функциите fgets() и fgetc(). $fvs = fopen($fName, "r") докато ((false !== ($cLine = fgets($fvs, 2000)))) ( $cLines .= " И двата варианта работят безупречно. Въпреки това, когато извършвате 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) стадо ($fvs, LOCK_UN) При опцията за запис ред по ред можете да манипулирате данните по време на процеса на запис; във втория случай записаният низ или масив се поставят в целия файл. $file = " scData.php " $cContents = file_get_contents($file) // добавяне на запис $cContents .= "нов запис\n" // запишете файла обратно file_put_contents($file, $cContents) Четенето и писането на PHP файлове е лесно и естествено. Важно е обаче да имате предвид: всеки файл има име, разширение и път (папка). За да може един PHP скрипт да чете и записва файлове, този скрипт трябва да има съответните права. Те се показват автоматично на хостинга, но в някои случаи трябва да бъдат разширени. В някои случаи може да е желателно да проверите резултатите чрез извършване на тестово четене. Писането на PHP файлове изисква това по време на разработката, но в някои случаи, в интерес на сигурността или надеждността на сайта, проверката на записа на данни е от съществено значение. Характерна черта на PHP, MySQl, JavaScript и особено на браузърите: тихо допускане на някои грешки. „Не е признато, не е направено...“ - не е много добра практика на първа линия информационни технологии, но това учи разработчиците да не правят грешки и да пишат чист, висококачествен код, което също не е лошо. PHP и работа с реални документиPHP четенето на PHP файл със сигурност е от практически интерес, но това е сферата на програмирането. Потребителят и посетителят на сайта се интересуват от информация от приложен характер, която е свикнал да вижда под формата на таблици и документи, по-специално във форматите *.xlsx и *. docx файлове. Това са файлове във формат MS Excel и MS Word. Списъци със стоки, цени, характеристики обикновено се формират под формата на таблици, така че PHP четене 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() като $row)( $cellIterator = $row->getCellIterator() foreach($cellIterator като $cell)( 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) if (($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), тогава дори механизмите за бисквитки и сесии не могат да се справят с необходимостта от прехвърляне на информация между скриптове, страници или определени процеси. Възможно е да се отразят желаните промени в базата данни, но въпреки всичките си предимства и бързина, малките временни или постоянни текстови файлове могат да бъдат много по-интересна опция за предаване на информация. Ако не създавате много малки файлове и не контролирате размера им, те могат да бъдат специфична и по-гъвкава версия на база данни. PHP четенето на текстов файл е бързо, той може веднага да бъде анализиран в структура, масив или обект. Последното е много важно, тъй като ви позволява да създавате обекти, които живеят извън определеното време PHP скрипт, който, както знаете, може да съществува само на сървъра и само в момента на зареждане на страницата се генерира AJAX отговор или по друга причина, която кара PHP интерпретатора да се стартира. Ако се замислите какво текстов файл- това е съдържанието и структурата от разработчика, PHP файлът е синтаксисът на интерпретатора плюс логиката на разработчика, а „маркираните“ описания html, css, xml са повече семантични елементи, но регулирани от статични стандарти. Може да се стигне до извода, че вероятно е време файловете да придобият ново съдържание и това само по себе си трябва да определи тяхното качество и логика на използване. Именно защото програмирането все още не е готово за следващия етап от своето развитие, файловете днес остават просто файлове, които разработчикът създава и определя тяхната употреба. Най-интересното и обещаващо нещо е, когато PHP чете PHP файл независимо, когато възникне необходимост. И един обикновен PHP, който чете ред от файл, води до създаване на обект, поне в състоянието, в което е бил записан. Това не са съвсем познати идеи, но в модерен святвсичко се променя толкова бързо. PHPfile_exists("test.txt")//Файлът съществува ли? filesize("test.txt");//Разберете размера на файла //Връща се клеймото за време: fileatime("test.txt");//Дата на последния достъп до файла //date("d M Y" , $atime); filemtime("test.txt");//Дата на модификация на файла //date("d M Y", $mtime); filectime("test.txt");//Дата на създаване на файл (Windows) //date("d M Y", $ctime);Файлове: режими на работаPHPresource fopen (string filename, string mode) // ресурс - връща указател към файла в случай на успех или FALSE в случай на грешка
Отваряне и затваряне на файлове в PHPPHP$fi = fopen("test.html", "w+") или die("Грешка"); //Примери $fi = fopen("http://www.you/test.html","r"); $fi = fopen("http://ftp.you/test.html", "r"); //Затваряне fclose($fi)Четене на файлове в PHPPHP//Прочетете файла fread(int fi, int length) $str = fread($fi, 5); // Прочетете първите 5 знака echo $str;// тъй като курсорът се е преместил $str = fread($fi, 12); // Прочетете следващите 12 символа echo $str; fgets(int fi[, int length]) // Четене на ред от файл fgetss(int fi, int дължина [, допустим низ]) // Четене на ред от файл и отхвърляне на HTML тагове // допустим низ - тагове, които трябва да се остави fgetc(int fi) //Чете знак от файл Първоначално записът ще се случи в началото на файла, като презапише съществуващите данни, ако има такива. Следователно, ако трябва да напишете нещо в края на файла, трябва да зададете подходящоторежим на четене , например a+ .PHPМанипулиране на курсора в PHP файловеint fseek(int fi, int offset [, int wherence]) //Настройване на курсора // int fi - указател към файла //offset - брой знаци за преместване. //whence: //SEEK_SET - движението започва от началото на файла; //SEEK_CUR - движението започва от текущата позиция; //SEEK_END - движението започва от края на файла. fseek($fi, -10, SEEK_END); //Прочитане на последните 10 знака $s = fread($fi, 10); $pos = ftell($fi); //Намиране на текущата позиция назад($f)//нулиране на курсора bool feof($f) //край на файлаPHPДиректна работа с файлове (данни) в PHParray file(string filename) // Получаване на съдържанието на файла под формата на масив // Друга опция за директна работа с данни file_get_contents(string filename) // Четене (получаване на целия файл в един ред) // Писане в файлът (първоначално презаписан) file_put_contents(низ име на файл, смесени данни[,int флаг]); //FILE_APPEND // Пише в края на файла: file_put_contents("test.txt", "data", FILE_APPEND); //Ако напишете масив, $array = array("I", "live"); file_put_contents("test.txt",$array); // тогава получаваме "Ilive"PHPУправление на файлове в phpкопиране (източник на низ, дестинация на низ); // Копиране на файла rename(str oldname, str newname); // Преименуване на файла unlink(string име на файл); // Изтриване на файлКачване на файлове на PHP сървър//PHP.ini настройки file_uploads (on|off) // разрешаване или забрана на качване на файлове upload_tmp_dir // временна папка за качени файлове. по подразбиране временна папка upload_max_filesize (по подразбиране = 2 Mb) // макс. размер на файла за качване post_max_size // общият размер на изпратения формуляр (трябва да е по-голям от upload_max_filesize) // Обикновено качванеИзпратетеPHP//Приемане на данни $tmp = $_FILES["userfile"]["tmp_name"]; $name = $_FILES["userfile"]["name"]; //Преместване на файла move_uploaded_file($tmp, name); move_uploaded_file($tmp, "качване/".име); // пренасочване на файла към папката за качване // спрямо текущия файл // Какво има в масива $_FILES $_FILES["userfile"]["name"] // име на файл, например test.html $_FILES[ "userfile"][" tmp_name"] // име на временен файл (път) $_FILES["userfile"]["size"] // размер на файла $_FILES["userfile"]["type"] // тип файл $ _FILES["userfile"] ["грешка"] // 0 - няма грешки, число - да |
Прочетете: |
---|
Популярни:
Нов
- Всички цветове на калъфа Galaxy S8 и кой е по-добър за закупуване?
- Mikrotik hAP AC - Рутер за всички случаи Преди да започнете да тествате
- Как да изчислим най-добре басрефлекса за акустична система
- Фабрично нулиране на ZTE Blade X3
- Как да отключите паролата за Honor, ако сте я забравили на вашия смартфон?
- Технология Thunderbolt: как работи и какви са нейните предимства
- Как да повишите TIC и PR Как да повишите Yandex TIC сами
- Версия на ядрото 3.10. Мигане на ядрото на устройство с Android. Какво е ядрото на мобилното устройство?
- Възстановяване с помощта на инсталационния диск
- Инсталиране на win 10 на 7. Съвети от експерти