KomputilojDosiertipoj

PHP PHP-dosiero legado. Laborante kun dosieroj en PHP: legado, skribo, kaj rekomendoj

PHP aperis multe pli malfrue ol la lingvoj de programado fortigis liajn poziciojn, formuli ĝeneralan ideon pri la sintakso, logiko, variabloj, kaj aliaj programado objektoj. Dosieroj kaj funkcioj laborante kun ili havis progreson, kaj eĉ la problemon de dosiero ĉifrado kiu ŝprucis de kaŭzas naturaj, ĝi ne kondukas al radikale novajn solvojn.

Ĝeneralaj rimarkoj

La ĉefa laboro kun dosieroj, kio ajn ili estas, estas malfermi, legado / skribo kaj proksima. Vi povas uzi la funkcion seruro / unlock aliro al la dosiero en la momento de prilaborado, povas munti legado / skribo pozicio en dosiero - ĉiuj, kiel en la pasinta, en la malproksima pasinteco.

Grava aspekto de PHP estas troo de funkcioj por labori kun dosieroj kaj la ebloj por ilia uzo. Praktike sufiĉas uzi simplan sed laboranta ebloj. Dosiero - tio estas, unue, la programo memoro. Ĝi eblas stoki informon. La celo de iu ajn programo, la celo de iu ajn retejo - reprezenti, administri kaj certigi la sekurecon de informoj.

grava fakto

Ĝi antaŭe estis neŝanĝeblaj postulo de kongruo almenaŭ de la malsupro supren. Tio estas, kiam la programo skribita en unu versio de la programlingvo perfekte kompilis / interpretita en la sekva versio. En hodiaŭa programado ne estas. kongruo postulo sintakso de lingvo iris malsupren en historio kiel lukto inter stiloj kaj softvaro kaj versioj de malsamaj instrumentoj iĝis la normo de vivo.

Laborante kun dosieroj, kiel datumbazoj, tiel grava, kiom grava la retejo interfaco. La unua por esti konstruita en tia maniero ke, kiam vi ŝanĝas platformo, retprovizanton, versio de la lingvo ne bezonas ŝanĝi la retejo kodon. dosiero mastrumado interfaco devus esti metita en apartan skripto kaj certigi plenan konformon, kaj ankaŭ retejo dezajno povus adekvate adapti al ajna aparato, retumilo kaj provizi la resto de la funcionalidad de la retejo la sama ŝancoj.

Legu kaj ŝanĝi vin mem

Eblas la programo mem ŝanĝi, tio estas, ĉu por plibonigi la skripton? Al ĉi tiu tago, la demando de intereso al multaj. Sed ĝi sonas multe pli praktika tasko: PHP PHP legante dosieron. Ne ĉiam la ellaboranto povas solvi tiun aŭ tiun problemon skribante specifa kodo. Kelkfoje vi devas ŝanĝi ĝin, kiam la retejo vizitanto venis kaj faris ne antaŭvidita en la stadio de evoluo de la afero.

Kiel en ĉiuj aliaj kazoj, vi devas unue malfermi la dosieron. Negrave, ekzistas la dosieron aŭ ne. Se vi scias, ke la dosiero ekzistas (file_exists funkcio () donas pozitivan respondon), uzita fopen () funkcio por aliro 'r', 'r +', 'a', 'a +'. Se vi ankoraŭ ne havas la dosieron, do aliro 'a', 'a +', 'w', 'w +'. La rezulto malfermos la dosieron descriptor. Fermas la dosiero fclose () funkcio.

Ĝi estas oportuna al uzi PHP legi la dosieron en tabelo, kiam ĝi ne estas necesa por trakti en la momento de legado.

se (file_exists ($ fName)) {

$ ALines = dosiero ($ fName)

}

En ĉi tiu personigo, ĉiu linio de la dosiero estas markita vicojn elemento secuencial. Ni notu, ke la funkcio dosiero () aŭ file_get_contents () ne bezonas malfermi dosieron kaj fermi ĝin.

Kiam la eniga dosiero estas tro granda kaj necesas trovi sufiĉe da informoj, aŭ por aliaj kialoj, vi povas uzi PHP legi la dosieron linio por linio. PHP provizas la eblon fari tion fgets () kaj fgetc ().

$ CLines = ''

$ FVS = fopen ($ fName: r ')

$ Mi = 0

dum ((falsa! == ($ Cline = fgets ($ FVS, 2000)))) {

$ Mi ++

$ CLines. = '
'. $ I. '). '. $ Cline

}

fclose ($ FVS)

Ambaŭ ebloj labori perfekte. Tamen, plenumante legado PHP PHP dosiero por plua ŝanĝojn, antaŭzorgoj devas esti prenitaj. Ĝi ne povas ĉiam esti provizita je tiu periodo de disvolviĝo de la retejo ebloj por lia uzo por la vizitanto. Estas pli bone se la skribo ŝanĝo efektivigas ene de la ejo trajtoj kaj mastrumado de tiu ŝanĝo ne estas videbla al vizitantoj, inkluzive de rimedo manaĝero.

Konservu rezultoj

Elsxuti kaj ĝisdatigi informon stokita en dosiero fputs () funkcio linio aŭ funkcio file_put_contents () tute.

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

$ FVS = fopen ($ fName, a)

ŝafaro ($ FVS, LOCK_EX)

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

fputs ($ FVS, $ Cline)

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

fputs ($ FVS, $ Cline)

fflush ($ FVS)

ŝafaro ($ FVS, LOCK_UN)

fclose ($ FVS)

En la personigo, la registradon linio por linio, ĝi eblas manipuli la datumojn dum la procezo de registrado, en la dua kazo, la registrable aŭ vico tabelo estas metita en la tuta dosiero.

$ Dosiero = 'scData.php'

$ CContents = file_get_contents ($ dosiero)

// aldoni enskriboj

$ CContents. = "Nova eniro \ n"

// Dosiero elementon reen

file_put_contents ($ dosiero, $ cContents)

Legado kaj skribado dosieroj PHP estas simpla kaj natura. Tamen, estas grave havi en menso: Ĉiu dosiero havas nomon, etendo kaj vojo (dosierujo). Por PHP skripto havas la kapablon legi kaj skribi dosierojn, tiu skripto devas havi la taŭgajn rajtojn. Ili aŭtomate konstruita por gastigi, sed en iuj kazoj, ili volas ekspansiiĝi.

En iuj kazoj, estas dezirinda por testi la rezultojn, la testo legado. Skribante PHP dosierojn estas postulata dum la fazo de disvolviĝo, sed en iuj kazoj, en la intereso de la sekureco aŭ fidindeco de la retejo inspektado datumoj registrado estas esenca.

Karakteriza trajto de PHP, MySQL, JavaScript, kaj precipe retumiloj: trankvila vojaĝo iuj eraroj. "Mi ne rekonas, ne faras ĝin ..." - ne estas bona praktiko de la antaŭa rando de informadiko, sed instruas programistoj ne faras erarojn kaj skribi pura, altkvalitaj kodo, kiu estas ankaŭ bona.

PHP kaj laboro kun realaj dokumentoj

PHP PHP legante dosieron, kompreneble, estas de praktika intereso, sed ĉi programado sfero. La klientoj kaj vizitantoj interesiĝas pri la aplikata naturo de la informoj, kiujn li uzis por vidi en la formo de tabloj kaj dokumentoj, precipe en formatoj * .xlsx kaj * .DOCX dosierojn. Ĉi tiuj estas dosieroj en MS Excel kaj MS Word.

Produkta listoj, prezoj, prezentas komunan formi en la formo de tabloj, do PHP legi Excel dosiero estas esenca.

Labori kun tiuj dosieroj desegnita PHPExcel kaj PHPWord biblioteko. Tamen, la enhavo de dosieroj * .xlsx kaj * .DOCX reprezentitaj en la OOXML normo, tiam estas vera kompreno de la disponeblaj dokumentoj estas submetita al la zip-dosiero. Zip archive - estas aro de dosieroj, inkluzive de bildoj, objektoj, formuloj, interglui de aliaj programoj. Teksto dosierojn estas priskribo en la formo de etikedoj. Legu la dosiero estas malgranda, estas necese distingi, por ricevi la enhavon kaj strukturon uzi kaj ŝanĝo.

Tio signifas, ke la legado operacio estas konvertita en la malfermo de la arkivo procezo. Tiuj bibliotekoj malfermita dokumenton biblioteko mem kaj donas programistoj vasta funkcioj por legado, prilaborado kaj registradon de tiaj dokumentoj.

Excel-tabelo

Por legi la Excel-tabelo, sufiĉas scii la nomon de la dosiero kaj la vojo al ĝi ($ xls). Rezulte de la sekva kodo tabelo de la originala Excel kalkultabelo valoroj generos:

include_once 'PhpOffice / PhpExcel / IOFactory.php'

funkcii scGetExcelFile ($ xls) {

$ ObjPHPExcel = PHPExcel_IOFactory :: ŝarĝo ($ xls)

$ ObjPHPExcel-> setActiveSheetIndex (0)

// ĉi tabelo enhavas arrays de vicoj

$ ASheet = $ objPHPExcel-> getActiveSheet ()

$ Array = array ()

// rivelado

foreach ($ aSheet-> getRowIterator () kiel $ vico) {

$ CellIterator = $ row-> getCellIterator ()

$ Item = array ()

foreach ($ cellIterator kiel $ ĉelo) {

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

}

array_push ($ tabelo, $ ero)

}

redoni $ tabelo

}

Leganta kaj procesante Excel-dosiero estas multe pli kompleksa pretigo de Word dokumentoj. La pli bona eblo se vi devas efektivigi grava projekto por legi kaj procesante la apliko informoj - unua mastro biblioteko PHPWord. Tiu donos bonan sperton kaj rapida eniro en la specifaj detaloj de la temo.

vorto dokumentoj

Nur du linioj:

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

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

La dokumento estas disponebla por $ cFileName prilaborado. Sekva, malfermu la arĥivo, elektu kaj analizi lia enhavo, kiu povas esti montrita sur la retejo, ŝanĝo kaj skribi reen.

$ ZipClass = nova ZipArchive ()

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

// legi la tutan enhavon de la dokumento

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

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

$ CNameInExt = substr ($ cNameIn, -4)

se (($ cNameInExt == 'Xml') || ($ cNameInExt == 'Rels')) {

// dosierojn kun la pligrandigo 'Xml' kaj '.xml.rels' stokita en tabelo dokumenton

// ĉiu xml-kordo estas skribita kun unika nombro de la ordo

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

$ CBodyInLen = strlen ($ cBodyIn)

} Alie {

// ĉiuj aliaj dosieroj en la dokumento dosierujo en la formo kiel estas

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

$ ZipClass-> getFromName ($ cNameIn, $ cWorkPath); // enhavon de dosiero

}

Opportunities proponis uzante PHP Excel kaj PHP Vorto, ke vi manipuli la realan dokumentoj, farante ilin rilata enhavo en momento donita. En hodiaŭa dinamika mondo, ĝi fariĝas tre grava. La centro de gravito longe moviĝis de la loka uzo de komputila teknologio en la virtuala Interreta spaco. Ĉar la kreado de folioj de ŝtono kaj dokumentoj en lokaj produktoj de Microsoft estas malpli efika ol laboranta kun tiaj dokumentoj en aŭtomata aŭ duon-aŭtomata modo, en la loko, kiu estas disponebla ne nur al la kreinto de la tablo aŭ dokumenton, sed ankaŭ liaj klientoj.

Teksto dosieroj, alia vivo

Kiel unua alproksimiĝo teksto dosierojn facile ol PHP dosierojn aŭ aplikon dokumentoj. Tamen, Estas io por pripensi. legi / skribi dosierojn tiaj operacioj jam identigitaj supre, sed multe pli grava estas la signifo de tia dosierojn.

Kohl estas tia realo, la kliento kaj la servilo (en la unuaj reĝadoj JavaScript, en la dua - PHP), eĉ mekanismoj kuketon kaj sesioj ne trakti la bezonon transdoni informon inter la skriptoj, paĝojn, tiuj aŭ aliaj procezoj.

Eblas pripensi la necesajn ŝanĝojn al la datumbazo, sed por ĉiuj iliaj meritoj kaj rapideco malgrandaj temporal aŭ permanenta teksto dosierojn povas esti multe pli interesa informo transdono elekto. Se vi ne kreas multajn malgrandajn dosierojn kaj kontroli iliajn grandeco, ili povas esti specifa kaj pli malrigida versio de la datumbazo.

PHP legi teksta dosiero estas rapida, ĝi povas esti malmuntita tuj en la strukturo, tabelo aŭ objekto. Tiu lasta estas tre grava ĉar ĝi permesas krei celojn kiuj vivas ekster la tempo asignita al la PHP skripto, kiu estas konata ekzisti nur sur la servilo, kaj nur kiam la paĝo estas ŝarĝita, la formado de AJAX respondo aŭ por ajna alia kialo, vokante al la ĵeto de la PHP interpretisto.

Promesplena ideojn, konsiloj

Se vi pensas pri tio, ke teksta dosiero - ĝi estas la enhavo kaj strukturo de la ellaboranto, PHP-dosiero - a sintakso interpretisto plus Ellaboranto logiko kaj "tagged" priskribo de HTML, CSS, xml - estas pli semantika elementoj, sed reguligitaj statika normoj. Vi povas veni al la konkludo, ke probable dosiero estas tempo por aĉeti novan enhavon, kaj devas mem difini sian kvaliton kaj aplikon logiko. Tial, ke la programado estas ankoraŭ ne preta por la sekva stadio de ĝia evoluo, la dosieroj nun estas simple dosierojn ke la ellaboranto kreas kaj difinas ilian uzon.

La plej interesa kaj promesplena kiam leganta PHP PHP dosiero okazas aŭtomate kiam la bezono ekestiĝas. Simpla PHP legado liniojn de dosiero kondukas al la kreado de la objekto, almenaŭ en la sama kondiĉo en kiu estis savita. Ĝi ne estas tute la kutimaj ideoj, sed ĉar ĉiu ŝanĝas tiel rapide en la hodiaŭa mondo.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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