/ / PHP: Les en PHP-fil. Arbeid med filer i PHP: lesing, skriving og anbefalinger

PHP: Les en PHP-fil. Arbeide med filer i PHP: lesing, skriving og anbefalinger

PHP dukket opp mye senere enn språkprogrammering styrket deres posisjon, formulerte generelle begreper om syntaks, logikk, variabler og andre programobjekter. Filer og funksjoner for å jobbe med dem gjorde ikke fremskritt, og selv problemet med filkoding, som oppsto av naturlige årsaker, førte ikke til fundamentalt nye løsninger.

Generelle notater

Grunnleggende arbeid med filer, uansett hva de måtte være,består av åpning, lesing/skriving og lukking. Du kan bruke funksjonene for å blokkere/oppheve blokkering av tilgang til filen mens den behandles, du kan stille inn lese-/skriveposisjonen i filen – alt, som før, i en fjern fortid.

php lese php-fil

Et viktig poeng i PHP er overskuddet av funksjoner.arbeider med filer og alternativer for deres bruk. I praksis er det nok å bruke enkle, men fungerende alternativer. Filen er for det første programmets minne. Du kan lagre informasjon i den. Formålet med ethvert program, formålet med ethvert nettsted er å presentere, behandle og sikre informasjonssikkerhet.

Vesentlig omstendighet

Det pleide å være et urokkelig krav om kompatibiliteti hvert fall fra bunn til topp. Det vil si at når et program først er skrevet i én versjon av programmeringsspråket, blir det ideelt sett kompilert/tolket i neste versjon. Dette er ikke tilfelle i moderne programmering. Kravet til kompatibiliteten til de syntaktiske konstruksjonene av språket har gått over i historien, og kampen mellom stiler og programmeringsverktøy og versjoner av visse verktøy har blitt normen i livet deres.

Å jobbe med filer, akkurat som med databaser, er viktiglike mye som nettstedets grensesnitt er viktig. Den første bør bygges på en slik måte at når du endrer plattform, hosting, språkversjon, er det ikke nødvendig å endre nettstedskoden. Grensesnittet for å jobbe med filer bør plasseres i et eget script og sikre full kompatibilitet, på samme måte som nettsteddesignet bør tilpasses til enhver enhet, nettleser og gi resten av nettstedets funksjonalitet de samme mulighetene.

Les og endre deg selv

Kan programmet endre seg selv, det vil si kanBlir manuset bedre? Den dag i dag er dette spørsmålet av interesse for mange. Men oppgaven høres mye mer praktisk ut: PHP leser en PHP-fil. Ikke alltid en utvikler kan løse et bestemt problem ved å skrive spesifikk kode. Noen ganger er det nødvendig å endre det når en besøkende kommer til nettstedet og formulerer et spørsmål som ikke ble gitt på utviklingsstadiet.

Som i alle andre tilfeller, først og fremstfilen må åpnes. Det spiller ingen rolle om denne filen eksisterer eller ikke. Hvis filen er kjent for å eksistere (fil_exists ()-funksjonen gir et bekreftende svar), brukes fopen () funksjonen med tilgang 'r', 'r +', 'a', 'a +'. Hvis filen ikke eksisterer ennå, med tilgang 'a', 'a +', 'w', 'w +'. Åpning av filen vil resultere i dens beskrivelse. Filen lukkes med funksjonen fclose ().

php les fil linje for linje

Det er praktisk å bruke PHP til å lese en fil inn i en array når det ikke er behov for å behandle den på lesingstidspunktet.

if (fil_eksisterer ($ fName)) {

$ aLines = fil ($ fName)

}

I dette tilfellet går hver linje i filen inn i array-elementet sekvensielt. Merk at fil- () eller file_get_contents ()-funksjonene ikke trenger å åpne og lukke filen.

Når inndatafilen er for stor og du må finnemed svært lite informasjon, eller av andre grunner, kan du bruke PHP til å lese filen linje for linje. PHP gir muligheten til å gjøre dette med funksjonene fgets () og fgetc ().

$ cLines = ""

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

$ i = 0

while ((false! == ($ cLine = fgets ($ fvs, 2000)))) {

$ i ++

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

}

fclose ($ fvs)

php lese filen inn i array

Begge alternativene fungerer feilfritt.Men når du utfører PHP-lesing av en PHP-fil for senere modifikasjon, bør forholdsregler tas. Det er langt fra alltid mulig å forutse på stadiet av utviklingen av nettstedet mulighetene for den besøkendes bruk. Det er bedre hvis skriptene endres innenfor nettstedsfunksjonene, og kontrollen over denne endringen ikke er tilgjengelig for besøkende, inkludert ressursadministratoren.

Lagrer resultater

Den mottatte og oppdaterte informasjonen skrives til filen av funksjonen fputs () linje for linje eller av funksjonen file_put_contents () som helhet.

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

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

flokk ($ fvs, LOCK_EX)

$ cLine = "1 linje". chr (10)

fputs ($ fvs, $ cLine)

$ cLine = "2 linjer". chr (10)

fputs ($ fvs, $ cLine)

flush ($ fvs)

flokk ($ fvs, LOCK_UN)

fclose ($ fvs)

I linje-for-linje-versjonen av opptak kan du manipulere dataene under opptaksprosessen; i det andre tilfellet plasseres den skrevne linjen eller matrisen i filen som helhet.

$ fil = "scData.php"

$ cContents = file_get_contents ($ fil)

// legg til post

$ cContents. = "ny oppføring"

// skriv filen tilbake

file_put_contents ($ fil, $ cContents)

les skrive php-filer

Det er enkelt å lese og skrive PHP-filernaturlig. Det er imidlertid viktig å huske på: hver fil har et navn, utvidelse og bane (mappe). For at et PHP-skript skal kunne lese og skrive filer, må dette skriptet ha de nødvendige tillatelsene. De legges automatisk ut på hostingen, men i noen tilfeller må de utvides.

I noen tilfeller er det lurt å sjekkeresultater ved å gjøre en testlesing. Å skrive PHP-filer krever dette under utvikling, men i noen tilfeller, av hensyn til et nettsteds sikkerhet eller pålitelighet, er det viktig å validere skrivingen av dataene.

Et karakteristisk trekk ved PHP, MySQl, JavaScript ogspesielt nettlesere: la noen feil gå i ro. "Ikke anerkjent, ikke gjort ..." er ikke en veldig god praksis på forkant av informasjonsteknologi, men det lærer utviklere å ikke gjøre feil og skrive ren kode av høy kvalitet, som også er bra.

PHP og arbeid med ekte dokumenter

PHP å lese en PHP-fil vil absolutt representerepraktisk interesse, men dette er programmeringsområdet. Brukeren og besøkende på nettsteder er interessert i informasjon av anvendt karakter, som han er vant til å se i form av tabeller og dokumenter, spesielt i formatene * .xlsx og * .docx-filer. Dette er filer i MS Excel og MS Word-format.

Det er generelt akseptert å lage lister over varer, priser, egenskaper i form av tabeller, derfor er PHP-lesing av Excel-filen viktig.

Biblioteker er utviklet for å jobbe med slike filerPHPExcel og PHPWord. Imidlertid er innholdet i *.xlsx- og *.docx-filene presentert i OOXML-standarden, det vil si at et virkelig forståelig dokument er representert av et zip-arkiv. Zip-arkiv er et sett med filer, inkludert bilder, objekter, formler, innlegg fra andre programmer. Tekstfiler er her representert med beskrivelser i form av tagger. Det er ikke nok å lese en slik fil, du må analysere den for å få innhold og struktur for bruk og modifikasjon.

php lese linje fra fil

Dette betyr at leseoperasjonen blirprosedyren for å åpne arkivet. Disse bibliotekene åpner dokumentarkivet på egen hånd og gir utvikleren omfattende funksjoner for å lese, behandle og skrive slike dokumenter.

Excel-tabeller

For å lese et Excel-regneark trenger du bare å vite navnet på filen og banen til den ($ xls). Som et resultat av å utføre følgende kode, vil en rekke verdier av den originale Excel-tabellen bli generert:

include_once 'PhpOffice / PhpExcel / IOFactory.php'

funksjon scGetExcelFile ($ xls) {

$ objPHPExcel = PHPExcel_IOFactory :: last ($ xls)

$ objPHPExcel-> setActiveSheetIndex (0)

// denne matrisen inneholder matriser med strenger

$ aSheet = $ objPHPExcel-> getActiveSheet ()

$ array = array ()

//behandling

foreach ($ aSheet-> getRowIterator () som $ rad) {

$ cellIterator = $ row-> getCellIterator ()

$ element = array ()

foreach ($ cellIterator som $ celle) {

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

}

array_push ($ array, $ element)

}

returner $ array

}

Lese og behandle Excel-filer betydeligvanskeligere å håndtere Word-dokumenter. Det beste alternativet, hvis du trenger å implementere et seriøst prosjekt for å lese og behandle søknadsinformasjon, er først å mestre PHPWord-biblioteket. Dette vil gi en god opplevelse og en rask innføring i spørsmålets spesifikasjoner.

Word-dokumenter

Bare to linjer:

$ oWord = nytt PhpOfficePhpWordPhpWord ()

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

Dokumentet $ cFileName er nå tilgjengelig for behandling. Deretter åpnes arkivet, innholdet velges og analyseres, som kan vises på nettstedet, endres og skrives tilbake.

php les excel-fil

$ zipClass = nytt ZipArchive ()

$ zipClass-> åpen ($ this-> tempFileName)

// les hele innholdet i dokumentet

for ($ i = 0; $ i <$ zipClass-> numFiles; $ i ++) {

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

$ cNameInExt = substr ($ cNameIn, -4)

if (($ cNameInExt == ".xml") || ($ cNameInExt == "rels")) {

// filer med filtypene ".xml" og ".xml.rels" lagres i dokumenttabellen

// hver xml-linje skrives med et unikt nummer i rekkefølge

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

$ cBodyInLen = strlen ($ cBodyIn)

} annet {

// alle andre filer skrives til dokumentmappen som de er

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

$ zipClass-> getFromName ($ cNameIn, $ cWorkPath); // innhold som fil

}

Muligheter åpnet med PHPExcel og PHP Word lar deg manipulere ekte dokumenter, gjøre innholdet deres relevant til enhver tid. I dagens dynamiske verden blir dette veldig viktig. Tyngdepunktet har for lengst flyttet fra lokal bruk av datateknologi til det virtuelle internettrommet. Derfor er det mindre effektivt å lage tabeller og dokumenter i lokale produkter fra Microsoft enn å jobbe med slike dokumenter i automatisk og halvautomatisk modus på et nettsted som ikke bare er tilgjengelig for skaperen av tabellen eller dokumentet, men også for forbrukerne.

Tekstfiler, et annet liv

Som en første tilnærming er tekstfiler enklere ennPHP-filer eller applikasjonsdokumenter. Det er imidlertid mye å tenke på her. Lese-/skriveoperasjoner for slike filer er allerede angitt ovenfor, men betydningen av slike filer er mye viktigere.

Hvis det er en slik gitt som en klient og en server (påden første er dominert av JavaScript, den andre av PHP), så kan selv mekanismene for informasjonskapsler og økter ikke takle behovet for å overføre informasjon mellom skript, sider eller disse eller andre prosesser.

Det er mulig å reflektere ønskede endringer i databasen, menfor alle fordelene og hastigheten, kan små midlertidige eller permanente tekstfiler være en mye mer interessant måte å overføre informasjon på. Hvis du ikke lager mange små filer og kontrollerer størrelsene deres, kan de representere en spesifikk og mer fleksibel versjon av databasen.

php lese tekstfil

PHP å lese en tekstfil er raskt,det kan umiddelbart analyseres til en struktur, en matrise eller et objekt. Det siste er veldig viktig, siden det lar deg lage objekter som lever utenfor tiden som er tildelt PHP-skriptet, som, som du vet, bare kan eksistere på serveren og kun på tidspunktet for sidelasting, generering av AJAX-svar, eller for en annen grunn som får PHP-tolken til å kjøre.

Lovende ideer, anbefalinger

Hvis du tenker på hva en tekstfil erinnhold og struktur fra utvikleren, PHP-filen er syntaksen til tolken pluss utviklerens logikk, og "taggede" beskrivelser av html, css, xml er mer semantiske elementer, men regulert av statiske standarder. Du kan komme til den konklusjonen at det sannsynligvis er på tide at filene får nytt innhold, og det bør selv bestemme kvaliteten og brukslogikken. Nettopp fordi programmeringen ennå ikke er klar for neste utviklingsstadium, er filer nå bare filer som utvikleren lager og bestemmer bruken av dem.

Den mest interessante og lovende når PHPPHP-filen leses av seg selv når behovet oppstår. Og en enkel PHP-lesing av en linje fra en fil fører til opprettelsen av et objekt, i det minste i den tilstanden det ble lagret i. Dette er ikke helt kjente ideer, men tross alt, i den moderne verden, endrer alt seg så raskt.