KompjûtersFile types

PHP: PHP-file lêzen. It wurkjen mei triemmen yn PHP: lêzen, skriuwen, en oanbefellings

PHP ferskynde folle letter as de programmearring talen hawwe fersterke harren posysjes, formulearje in algemiene idee oer de syntaksis, logika, fariabelen, en oare programmearring objekten. Files en funksjes wurkje by harren hiene gjin foarútgong, en sels it probleem fan de triem fersifering kaam op tusken natuerlike oarsaken, net liede ta radikaal nije oplossingen.

algemiene opmerkings

It wichtichste wurk mei triemen, wat se wêze meie, is te iepenjen, lêze / skriuwe en tichtby. Jo kinne gebrûk meitsje fan 'e funksje slot / ûntskoattelje tagong ta de triem op' e tiid fan de ferwurking, kin fêstmakke lêzen / skriuwe posysje yn in triem - allegear, lykas yn it ferline, yn it fiere ferline.

In wichtich aspekt fan PHP is in oerfloed oan funksjes te wurkjen mei triemmen en de opsjes foar harren brûken. Yn de praktyk genôch te brûken in ienfâldich mar wurkje opsjes. File - dit is, earst fan alle, it programma ûnthâld. It is mooglik om te slaan ynformaasje. It doel fan in programma, it doel fan eltse side - te fertsjintwurdigjen, beheare en soargje foar de feiligens fan de ynformaasje.

wichtich feit

It wie eartiids ûnferoarlike eask fan kompatibiliteit op syn minst fan ûnderen op. Dat is, ien kear it programma skreaun yn ien ferzje fan de programmeartaal perfekt gearstald / útlein op de folgjende ferzje. Yn de hjoeddeiske programmearring net. komptabiliteit eask syntaksis fan taal gien is de boeken yn as in striid tusken de stilen en software en ferzjes fan ferskate ynstruminten is de noarm fan it libben.

Wurkje mei triemmen, lykas databanken, sa wichtich, hoe wichtich de side ynterface. De earste wurde boud op sa'n manier, dat as jo feroarje platfoarm, hosting, ferzje fan de taal net nedich om te feroarjen de side koade. file management interface moat pleatst wurde yn in apart skrift en te garandearjen folsleine komptabiliteit, likegoed as webside design moat adekwaat oanpasse oan eltse apparaat, browser, en soargje de rest fan de funksjonaliteit fan de side deselde kânsen.

Lêzen en feroarje dysels

Kin it programma sels te feroarjen, dat wol sizze, oft te ferbetterjen it skript? Oant hjoed de dei, de fraach fan belang foar in soad. Mar it klinkt folle mear praktyske taak: PHP PHP it lêzen fan in triem. Net altyd de ûntwikkelders kin oplosse dit of dat probleem troch it skriuwen fan in spesifike koade. Soms jo moatte feroarje as de site besiker kaam en makke net foarnommen oan it stadium fan ûntwikkeling fan de kwestje.

Lykas yn alle oare gefallen, moatte jo earst iepenje de triem. It makket neat út, der is de triem of net. As jo witte dat de triem bestiet (file_exists funksje () jout in posityf antwurd), brûkte fopen () funksje oan tagong 'r', 'r +', 'in', 'a +'. As jo noch net hawwe de triem, dan tagong 'a', 'a +', 'w', 'w +'. It resultaat sil iepenje de triem descriptor. Slút de triem fclose () funksje.

It is handich om te brûken PHP te lêzen de triem yn in rige is as it is net nedich om te hanneljen yn de tiid fan it lêzen.

as (file_exists ($ fName)) {

$ ALines = triem ($ fName)

}

Yn dizze útfiering, eltse line fan de triem wurdt Flagged yn slachoarder elemint sequentially. Dêrby moat opmurken wurde dat de funksje triem () of file_get_contents () net hoege te iepenjen in triem en slute wolle.

As de ynfiertriem is te grut en moatte finen nogal wat fan ynformaasje, of foar oare redenen, kinne jo gebrûk meitsje fan PHP te lêzen de triem line troch rigel. PHP jout de mooglikheid om te dwaan dat fgets () en fgetc ().

$ Lines = ''

$ Fvs = fopen ($ fName, 'r')

$ I = 0

wylst ((falske! == ($ Cline = fgets ($ fvs, 2000)))) {

$ I ++

$ Lines. = '
'. $ I. '). '. $ Cline

}

fclose ($ fvs)

Beide opsjes wurkje perfekt. Lykwols, it útfieren fan in lês- PHP PHP triem foar fierdere feroarings, foarsoarchsmaatregels nommen wurde moatte. It kin net altyd wurde foarsjoen op it stadium fan ûntwikkeling fan de site opsjes foar syn brûken troch de besiker. It is better as it skript feroarje wurdt útfierd binnen de site funksjes, en behear fan dy feroaring is net sichtber foar besikers, ynklusyf in resource manager.

bewarje resultaten

Helje en bywurkje ynformaasje opslein yn in triem fputs () funksje line of funksje file_put_contents () alhiel.

$ FName = $ _SERVER [ 'DOCUMENT_ROOT']. '/tmp/scData.php'

$ Fvs = fopen ($ fName, 'a')

flock ($ fvs, LOCK_EX)

$ Cline = '1 line'. chr (10)

fputs ($ fvs, $ Cline)

$ Cline = '2 line'. chr (10)

fputs ($ fvs, $ Cline)

fflush ($ fvs)

flock ($ fvs, LOCK_UN)

fclose ($ fvs)

Yn de belichaming, de opname line troch line, is it mooglik om manipulearje de gegevens tidens de opname proses, yn it twadde gefal, de opnimbere of rige array is pleatst yn it hiele triem.

$ Triem = 'scData.php'

$ CContents = file_get_contents ($ file)

// tafoegje entries

$ CContents. = "Nije yngong \ n"

// Triem item werom

file_put_contents ($ triem, $ cContents)

Lêzen en skriuwen fan triemmen PHP is simpel en natuer. Lykwols, is it fan belang om te hâlden foar eagen: Eltse triem hat in namme, útwreiding en paad (map). Om in PHP script hat de mooglikheid om te lêzen en skriuwen bestannen, dit skript moat de krekte rjochten. Se automatysk sette foar hosting, mar yn guon gefallen, se wolle útwreidzje.

Yn guon gefallen is it winsklik om te testen de resultaten, de test lêzen. It skriuwen fan PHP bestannen is nedich yn de ûntwikkelingsfaze, mar yn guon gefallen, yn it belang fan de feiligens of de betrouberens fan de site ynspeksje gegevens opname is essinsjeel.

In karakteristyk skaaimerk fan PHP, MySQL, JavaSkript, en benammen browsers: rêstich ride inkele flaters. "Ik wit it net werkenne, net dwaan ..." - net in goede praktyk fan 'e foarside râne fan ynformaasje technology, mar it leart ûntwikkelers net meitsje flaters en skriuwe skjinne, hege-kwaliteit code, dat is ek goed.

PHP en wurk mei echte dokuminten

PHP PHP it lêzen fan in triem, fansels, is fan praktysk belangstelling, mar dit Programming bol. Klanten en besikers ynteressearre yn de tapaste aard fan de ynformaasje, dy't er brûkt om te sjen yn 'e foarm fan tafels en dokuminten, yn it bysûnder, yn formaten * .xlsx en * .docx triemen. Dy binne triemmen yn MS Excel en MS Word.

Produkt lists, prizen, funksjes mienskiplik te foarmje yn 'e foarm fan tabellen, dus PHP reading Excel triem is essinsjeel.

Te wurkjen mei dizze bestannen ûntwurpen PHPExcel en PHPWord bibleteek. Lykwols, de ynhâld fan triemen * .xlsx en * .docx fertsjintwurdige yn de OOXML standert, dan is der in echte begryp fan de beskikbere dokumint wurdt foarlein oan it ZIP-bestân. Zip argyf - is in set fan triemmen, ynklusyf ôfbyldings, foarwerpen, formules, Plakke út oare programma. Tekst triemen is in beskriuwing yn 'e foarm fan tags. Lês de triem is lyts, is it nedich om út, om de ynhâld en struktuer te brûken en feroaring.

Dat betsjut dat it lêzen wurking wurdt omset yn 'e iepening fan it argyf proses. Dy biblioteken iepen dokumint bibleteek josels en jout ûntwikkelers útwreide funksjes foar lêzen, ferwurking en opname fan sokke dokuminten.

Excel-table

Om te lêzen it Excel-tafel, is it genôch om te witten de namme fan de triem en it paad nei it ($ Xls). As gefolch fan de folgjende koade array fan de orizjinele Excel wurkblêd wearden oanmakke wurde sille:

include_once 'PhpOffice / PhpExcel / IOFactory.php'

funksjonearje scGetExcelFile ($ Xls) {

$ ObjPHPExcel = PHPExcel_IOFactory :: load ($ Xls)

$ ObjPHPExcel-> setActiveSheetIndex (0)

// dizze rige befettet rigen rigen

$ ASheet = $ objPHPExcel-> getActiveSheet ()

$ Array = array ()

// ferwurkjen

forEach ($ aSheet-> getRowIterator () as $ rij) {

$ CellIterator = $ row-> getCellIterator ()

$ Item = array ()

forEach ($ cellIterator as $ sel) {

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

}

array_push ($ array, $ item)

}

werom $ array

}

It lêzen en it ferwurkjen Excel-triem is folle komplekser ferwurking fan Word dokuminten. De bêste opsje as jo moatte fieren in grutte projekt foar it lêzen en it ferwurkjen fan de applikaasje ynformaasje - earst master biblioteek PHPWord. Dit sil jaan in goede ûnderfining en in flugge yngong yn 'e specifics fan de útjefte.

wurd dokuminten

Allinne twa rigels:

$ OWord = nij \ PhpOffice \ PhpWord \ PhpWord ()

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

No it dokumint is beskikber foar $ cFileName ferwurkjen. Folgjende, iepenje it argyf, selektearje en analysearje syn ynhâld, dy't werjûn wurde kin op de webside, feroaring en skriuw werom.

$ ZipClass = new ZipArchive ()

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

// lêze de hiele ynhâld fan it dokumint

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

$ CNameIn = $ zipClass-> getNameIndex ($ I)

$ CNameInExt = substr ($ cNameIn, -4)

as (($ cNameInExt == '.xml') || ($ cNameInExt == 'rels')) {

// triemmen mei de ekstinsje '.xml' en '.xml.rels' opslein yn in tabel dokumint

// elk XML-string is skreaun mei in unike nûmer fan 'e oarder

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

$ CBodyInLen = strlen ($ cBodyIn)

} Else {

// alle oare triemmen opslein yn it dokumint map yn de foarm sa't it is

$ CNameOnly = substr ($ cNameIn, strrpos ($ cNameIn, '/') + 1)

$ ZipClass-> getFromName ($ cNameIn, $ cWorkPath); // ynhâld fan in triem

}

Kânsen dy't mei help fan PHP Excel en PHP Wurd, lit jo manipulearje de echte dokuminten, wêrtroch't se relevante ynhâld op elts opjûne tiid. Yn de hjoeddeiske dynamyske wrâld, it wurdt hiel wichtich. It swiertepunt hat lang brieken op fan 'e pleatslike brûken fan kompjûter technology yn' e firtuele ynternet romte. Omdat it skeppen fan Tabellenkalkulationen en dokuminten yn lokale produkten fan Microsoft is minder effektyf as wurkjen mei sokke dokuminten yn in automatyske of semi-automatyske modus, op it plak, dat is beskikber net allinnich oan de makker fan 'e tafel of in dokumint, mar ek har klanten.

Teksttriemmen, in oar libben

As earste ûnderlinge oanpassing teksttriemmen makliker as PHP triemmen of programma ta dokuminten. Lykwols, der is wat te tinken oer. lêze / skriuwe triemmen sokke operaasjes hawwe al sinjalearre hjirboppe, mar folle wichtiger is de betsjutting fan sokke triemmen.

Kohl is sa'n werklikheid, de client en de tsjinner (yn it earste is kening JavaSkript, op de twadde - PHP), sels meganismen koekje en sesjes kinne net omgaan met de needsaak om te oerdrage ynformaasje tusken de skripts, siden, dy of oare prosessen.

It is mooglik om te reflektearje de nedige feroarings om it databank, mar foar al har fertsjinsten en snelheid lytse tydlike of permaninte teksttriemmen kin folle mear nijsgjirrige ynformaasje heechspanningslieding opsje. As jo net in soad lytse triemmen en betsjinning harren maat, sy kin in spesifyk en in mear fleksibele ferzje fan de databank.

PHP lêzen tekst triem is fluch, dan kin ûntmantele fuortendaliks yn 'e struktuer, array of foarwerp. Dy lêste is tige wichtich as it kinne jo te meitsjen foarwerpen dy't libje bûten de tiid tarekkene oan de PHP skript, dat bekend stiet om te bestean allinne op de tsjinner, en pas doe't de side wurdt laden, de foarming fan AJAX antwurd of om hokker oare reden, ropt de yntroduksje fan de PHP tolk.

Nijsgjirrige ideeën, advys

As jo tinke oer it feit dat in teksttriem - it is de ynhâld en struktuer fan de ûntwikkelders, PHP file - een syntaksis útlizzer plus Developer logika en "tagged" beskriuwing fan html, css, XML - it is mear semantyske eleminten, mar regele statyske noarmen. Jo kinne komme ta de konklúzje dat alle gedachten file it is tiid om te keapjen nije ynhâld, en it moat sels bepale harren kwaliteit en tapassing logika. It is omdat de programmearring is noch net klear foar de folgjende faze fan syn ûntwikkeling, de triemmen no binne gewoan files dat de projektûntwikkelder skept en definiearret harren brûken.

De meast nijsgjirrichste en ûnthjit as lêzen PHP PHP triem fynt plak automatysk as it ferlet ûntstiet. In ienfâldige PHP lêzen rigels út in triem liedt ta de oprjochting fan it foarwerp, op syn minst yn deselde steat wêryn it waard bewarre. It is net alhiel gewone ideeën, mar omdat alles feroaret sa fluch yn de hjoeddeiske wrâld.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 fy.birmiss.com. Theme powered by WordPress.