CyfrifiaduronFathau o ffeiliau

PHP: darllen PHP-ffeil. Gan weithio gyda ffeiliau yn PHP: darllen, ysgrifennu, ac argymhellion

Ymddangosodd PHP yn llawer hwyrach na'r ieithoedd rhaglennu wedi cryfhau eu swyddi, llunio syniad cyffredinol am y gystrawen, rhesymeg, newidynnau, a gwrthrychau rhaglennu eraill. Roedd Ffeiliau a swyddogaethau sy'n gweithio gyda nhw dim cynnydd, a hyd yn oed y broblem o amgryptio ffeiliau a gododd o achosion naturiol, nid oedd yn arwain at atebion radical newydd.

sylwadau cyffredinol

Y prif waith gyda ffeiliau, beth bynnag y bônt, yn agor, darllen / ysgrifennu ac yn agos. Gallwch ddefnyddio'r clo swyddogaeth / datgloi mynediad at y ffeil ar adeg brosesu, gellir eu gosod sefyllfa / ysgrifennu darllen mewn ffeil - i gyd, fel yn y gorffennol, yn y gorffennol pell.

Un agwedd bwysig ar PHP yw gormodedd o swyddogaethau i weithio gyda ffeiliau a'r opsiynau ar gyfer eu defnydd. Yn ymarferol ddigon i ddefnyddio opsiynau syml ond yn gweithio. Ffeil - mae hyn yn, yn gyntaf oll, y cof rhaglen. Mae'n bosibl i storio gwybodaeth. Mae'r nod o unrhyw raglen, diben unrhyw safle - i gynrychioli, rheoli a sicrhau diogelwch gwybodaeth.

ffaith bwysig

Roedd yn arfer bod gofyniad ddigyfnewid o gydweddoldeb leiaf o'r gwaelod i fyny. Hynny yw, unwaith y bydd y rhaglen yn ysgrifenedig mewn un fersiwn o'r iaith raglennu a luniwyd yn berffaith / dehongli ar y fersiwn nesaf. Mewn rhaglenni heddiw nid yw'n. cydweddoldeb Gofyniad cystrawen iaith wedi mynd i lawr mewn hanes fel frwydr rhwng arddulliau a meddalwedd a fersiynau o wahanol offerynnau wedi dod yn norm bywyd.

Gan weithio gyda ffeiliau, fel cronfeydd data, mor bwysig, pa mor bwysig y rhyngwyneb safle. Y cyntaf i gael ei adeiladu yn y fath fodd fel bod pan fyddwch yn newid llwyfan, cynnal, nid oedd angen fersiwn o'r iaith i newid y cod y safle. Dylai rhyngwyneb rheoli ffeiliau yn cael eu rhoi mewn sgript ar wahân ac i sicrhau cysondeb llawn, yn ogystal â dylunio gwefannau Dylai addasu ddigonol at unrhyw ddyfais, porwr, ac yn darparu gweddill y ymarferoldeb y safle yr un cyfleoedd.

Darllen a newid eich hun

A all y rhaglen ei hun i newid, hynny yw, p'un ai i wella'r sgript? Hyd heddiw, mae'r cwestiwn o ddiddordeb i lawer. Ond mae'n swnio llawer mwy dasg ymarferol: PHP PHP darllen ffeil. Nid yw bob amser gall y datblygwr ddatrys hyn neu y broblem drwy ysgrifennu cod benodol. Weithiau, mae angen i chi ei newid pan ddaeth ymwelydd safle ac nid wnaed ragwelir ar y cam o ddatblygiad y mater.

Fel ym mhob achos arall, rhaid i chi yn gyntaf agor y ffeil. Nid yw o bwys, ceir y ffeil neu beidio. Os ydych yn gwybod bod y ffeil yn bodoli (ffwythiant file_exists () yn rhoi ateb cadarnhaol), a ddefnyddir fopen () yn i fynediad 'r', 'r +', 'yn', 'a +'. Os byddwch yn dal heb gael y ffeil, ac yna mynediad 'yn', 'a +', 'w', 'w +'. Bydd y canlyniad yn agor y disgrifydd ffeil. Yn cau y swyddogaeth ffeil fclose ().

Mae'n gyfleus i'w defnyddio PHP i ddarllen y ffeil i mewn arae pan nad oes angen i drin ar adeg y darllen.

os (file_exists ($ fName)) {

$ ALines = ffeil ($ fName)

}

Yn yr ymgorfforiad hwn, mae pob llinell o'r ffeil yn cael ei fflagio yn yr elfen amrywiaeth ddilyniannol. Dylid nodi nad oes angen y ffeil swyddogaeth () neu file_get_contents () i agor ffeil a chau.

Pan fydd y ffeil mewnbwn yn rhy fawr ac mae angen i ddod o hyd cryn dipyn o wybodaeth, neu am resymau eraill, gallwch ddefnyddio PHP i ddarllen y llinell ffeil drwy linell. PHP yn darparu'r gallu i wneud hynny fgets () a fgetc ().

$ CLines = ''

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

$ I = 0

tra ((ffug! == ($ CLINE = fgets ($ fvs, 2000)))) {

$ Rwyf ++

$ CLines. = '
'. $ I. '). '. $ CLINE

}

fclose ($ fvs)

Mae'r ddau ddewis yn gweithio'n berffaith. Fodd bynnag, yn perfformio ffeil PHP PHP ddarllen am newidiadau pellach, rhagofalon mae'n rhaid eu cymryd. Ni all hi bob amser yn cael ei ddarparu yn ystod y cam o ddatblygiad o'r opsiynau safle ar gyfer ei ddefnyddio gan yr ymwelydd. Mae'n well os yw'r newid sgript yn cael ei wneud o fewn y nodweddion y safle, ac nid yw rheoli'r newid hwn yn weladwy i ymwelwyr, gan gynnwys rheolwr adnoddau.

arbed canlyniadau

Adfer a diweddaru gwybodaeth ei storio mewn ffeil fputs () llinell swyddogaeth neu file_put_contents ffwythiant () yn gyfan gwbl.

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

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

ddiadell ($ fvs, LOCK_EX)

$ Cline = '1 llinell'. bedyddiwyd (10)

fputs ($ fvs, $ Cline)

$ Cline = '2 llinell'. bedyddiwyd (10)

fputs ($ fvs, $ Cline)

fflush ($ fvs)

ddiadell ($ fvs, LOCK_UN)

fclose ($ fvs)

Yn yr ymgorfforiad, mae'r llinell cofnodi gan y llinell, mae modd trin y data yn ystod y broses recordio, yn yr ail achos, yr amrywiaeth cofnodadwy neu res yn cael ei roi yn y ffeil gyfan.

$ File = 'scData.php'

$ CContents = file_get_contents ($ ffeil)

// ychwanegu cofnodion

$ CContents. = "\ N Cofnod newydd"

// Ffeil eitem yn ôl

file_put_contents ($ ffeiliau, $ cContents)

Darllen ac ysgrifennu ffeiliau PHP yn syml a naturiol. Fodd bynnag, mae'n bwysig cadw mewn cof: Mae gan bob ffeil enw, estyniad a llwybr (folder). I sgript PHP y gallu i ddarllen ac ysgrifennu ffeiliau, mae'n rhaid i sgript hwn yn cael yr hawliau priodol. Maent yn awtomatig eu codi ar gyfer cynnal, ond mewn rhai achosion, maent yn awyddus i ehangu.

Mewn rhai achosion, mae'n ddymunol i brofi'r canlyniadau, y darlleniad prawf. Ysgrifennu ffeiliau PHP yn ofynnol yn ystod y cyfnod datblygu, ond mewn rhai achosion, er budd diogelwch neu ddibynadwyedd y cofnodi data archwilio safle yn hanfodol.

Un o nodweddion nodweddiadol o PHP, MySQL, JavaScript, ac yn enwedig porwyr: taith tawel rhai gwallau. "Nid wyf yn adnabod, peidiwch â gwneud hynny ..." - nid yw arfer dda o ymyl blaen o dechnoleg gwybodaeth, ond mae'n dysgu datblygwyr nid ydynt yn gwneud camgymeriadau ac ysgrifennu yn lân, cod o ansawdd uchel, sydd hefyd yn dda.

PHP a gweithio gyda dogfennau go iawn

PHP PHP yn darllen ffeil, wrth gwrs, yw o ddiddordeb ymarferol, ond mae hyn maes rhaglennu. Cwsmeriaid ac ymwelwyr sydd â diddordeb yn natur cymhwyso y wybodaeth, a ddefnyddiodd i weld ar ffurf tablau a dogfennau, yn benodol, mewn fformatau * .xlsx a * .docx ffeiliau. Mae'r rhain yn ffeiliau yn MS Excel a MS Word.

rhestrau cynnyrch, prisiau, nodweddion sy'n gyffredin i ffurfio ar ffurf tablau, felly PHP darllen ffeil Excel yn hanfodol.

Gweithio gyda ffeiliau hyn wedi'u cynllunio PHPExcel a PHPWord llyfrgell. Fodd bynnag, mae'r cynnwys y ffeiliau * .xlsx a * .docx cynrychioli yn y safon OOXML, yna mae dealltwriaeth wirioneddol o'r ddogfen ar gael yn cael ei chyflwyno i'r ffeil sip. archif Zip - yn set o ffeiliau, gan gynnwys delweddau, gwrthrychau, fformiwlâu, gludo o raglenni eraill. ffeiliau testun yn ddisgrifiad ar ffurf tagiau. Darllenwch y ffeil yn fach, mae angen gwneud allan, i gael y cynnwys a'r strwythur i'w ddefnyddio a newid.

Mae hyn yn golygu bod y gwaith darllen yn cael ei drawsnewid i mewn i agor y broses archif. Mae'r llyfrgelloedd llyfrgell ddogfen agored eich hun ac yn rhoi swyddogaethau helaeth ar gyfer darllen, prosesu a chofnodi dogfennau o'r fath ddatblygwyr.

Excel-tabl

Er mwyn darllen y Excel-bwrdd, mae'n ddigon i wybod enw'r ffeil a'r llwybr iddo ($ xls). O ganlyniad i'r cod amrywiaeth canlynol o werthoedd daenlen Excel gwreiddiol fydd yn cael ei gynhyrchu:

'PhpOffice / PhpExcel / IOFactory.php' include_once

swyddogaeth scGetExcelFile ($ xls) {

$ ObjPHPExcel = PHPExcel_IOFactory :: llwyth ($ xls)

$ ObjPHPExcel-> setActiveSheetIndex (0)

// arae hon yn cynnwys araeau o resi

$ ASheet = $ objPHPExcel-> getActiveSheet ()

$ Array = array ()

// prosesu

foreach ($ aSheet-> getRowIterator () fel $ rhes) {

$ CellIterator = $ row-> getCellIterator ()

$ Eitem = array ()

foreach ($ cellIterator â $ cell) {

array_push ($ eitem, iconv ( 'utf-8', 'cp1251', $ gell> getCalculatedValue ()))

}

array_push ($ array, $ eitem)

}

dychwelyd $ arae

}

Darllen a phrosesu Excel-ffeil yn llawer mwy cymhleth prosesu dogfennau Word. Y dewis gorau os ydych angen i weithredu prosiect mawr ar gyfer darllen a phrosesu'r wybodaeth ymgeisio - llyfrgell meistr cyntaf PHPWord. Bydd hyn yn rhoi profiad da a mynediad cyflym i mewn i'r manylion y mater hwn.

dogfennau Word

Dim ond dwy linell:

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

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

Nawr bod y ddogfen ar gael ar gyfer prosesu $ cFileName. Nesaf, agor y archif, dethol a dadansoddi ei gynnwys, y gellir eu harddangos ar y wefan, newid ac ysgrifennu yn ôl.

$ ZipClass = ZipArchive newydd ()

$ ZipClass-> agored ($ hyn-> tempFileName)

// ddarllen holl gynnwys y ddogfen

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

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

$ CNameInExt = substr ($ cNameIn, -4)

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

// ffeiliau â'r '.xml' ymestyn a '.xml.rels' storio mewn dogfen tabl

// pob xml-llinyn ei ysgrifennu gyda nifer unigryw y gorchymyn

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

$ CBodyInLen = strlen ($ cBodyIn)

} {Arall

// holl ffeiliau eraill eu storio yn y ffolder dogfennau ar ffurf fel y mae

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

$ ZipClass-> getFromName ($ cNameIn, $ cWorkPath); // cynnwys ffeil

}

Cyfleoedd a gynigir drwy ddefnyddio PHP Excel a PHP Word, yn gadael i chi drin y dogfennau go iawn, gan eu gwneud yn cynnwys perthnasol ar unrhyw adeg benodol. Yn y byd heddiw deinamig, mae'n dod yn bwysig iawn. Mae craidd disgyrchiant wedi symud hir o ddefnydd lleol o dechnoleg gyfrifiadurol yn y gofod Rhyngrwyd rhithwir. Oherwydd bod y taenlenni a dogfennau chreu mewn cynhyrchion lleol o Microsoft yn llai effeithiol na gweithio gyda dogfennau o'r fath mewn modd awtomatig neu led-awtomatig, ar y safle, sydd ar gael nid yn unig i creawdwr y tabl neu ddogfen, ond hefyd yn ei gwsmeriaid.

ffeiliau testun, bywyd arall

Fel testun brasamcan cyntaf ffeiliau yn haws na ffeiliau PHP neu ddogfennau cais. Fodd bynnag, mae rhywbeth i feddwl amdano. darllen / ysgrifennu ffeiliau gweithrediadau o'r fath eisoes wedi nodi uchod, ond yn llawer mwy pwysig yw ystyr ffeiliau o'r fath.

Kohl yn realiti o'r fath, y cleient a'r gweinydd (yn y teyrnasu cyntaf JavaScript, ar yr ail - PHP), ni all hyd yn oed mecanweithiau cwci a sesiynau ymdopi â'r angen i drosglwyddo gwybodaeth rhwng y sgriptiau, tudalennau, hynny neu brosesau eraill.

Mae'n bosibl i adlewyrchu'r newidiadau angenrheidiol i'r gronfa ddata, ond am eu holl rhinweddau a chyflymder ffeiliau testun bach dros dro neu barhaol yn gallu bod yn opsiwn trosglwyddo gwybodaeth llawer mwy diddorol. Os nad ydych yn creu llawer o ffeiliau bach ac yn rheoli eu maint, gallant fod yn benodol a fersiwn mwy hyblyg o'r gronfa ddata.

PHP darllen ffeil testun yn gyflym, gellir ei datgymalu ar unwaith yn y strwythur, array neu wrthrych. Mae'r olaf yn bwysig iawn gan ei fod yn caniatáu i chi greu gwrthrychau sy'n byw y tu allan i'r amser a ddyrennir i'r sgript PHP, a elwir yn bodoli yn unig ar y gweinydd, a dim ond pan fydd y dudalen yn cael ei lwytho, ffurfio ymateb AJAX neu am unrhyw reswm arall, yn galw lansio'r cyfieithydd PHP.

syniadau addawol, cyngor

Os ydych chi'n meddwl am y ffaith bod ffeil testun - mae'n cynnwys a strwythur y datblygwr, ffeil PHP - cyfieithydd cystrawen yn ogystal â rhesymeg Datblygwr a "tagio" disgrifiad o html, css, xml - mae'n fwy elfennau semantig, ond mae safonau statig a reoleiddir. Gallwch ddod i'r casgliad bod yn ôl pob tebyg ffeilio mae'n amser i brynu cynnwys newydd, ac mae'n rhaid iddo ei hun yn penderfynu ar eu ansawdd a chymhwyso rhesymeg. Mae'n oherwydd nad yw'r rhaglenni yn barod ar gyfer y cam nesaf yn ei datblygiad hyd yn hyn, mae'r ffeiliau yn awr yn syml ffeiliau bod y datblygwr yn creu ac yn diffinio eu defnydd.

Mae wrth ddarllen ffeil PHP PHP mwyaf diddorol ac yn addawol yn digwydd yn awtomatig pan fydd yr angen yn codi. Mae llinellau darllen PHP syml o ffeil yn arwain at y gwrthrych greadigaeth, o leiaf yn yr un cyflwr ag y cafodd ei achub. Dyw hi ddim yn hollol yr syniadau arferol, ond oherwydd bod popeth yn newid mor gyflym yn y byd heddiw.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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