/ / PHP: Läs en PHP-fil. Arbeta med filer i PHP: läsning, skrivning och rekommendationer

PHP: Läs en PHP-fil. Arbeta med filer i PHP: läsning, skrivning och rekommendationer

PHP uppträdde mycket senare än språkprogrammering stärkte sin position, formulerade allmänna begrepp för syntax, logik, variabler och andra programobjekt. Filer och funktioner för att arbeta med dem utvecklades inte, och till och med problemet med filkodning, som uppstod av naturliga skäl, ledde inte till fundamentalt nya lösningar.

Allmänna anteckningar

Grundläggande arbete med filer, oavsett vad de än är,består av att öppna, läsa / skriva och stänga. Du kan använda funktionerna för att blockera / avblockera åtkomst till filen medan den bearbetas, du kan ställa in läs / skrivpositionen i filen - allt, som tidigare, i det avlägsna förflutna.

php läs php-fil

En viktig punkt i PHP är överflödet av funktioner.arbetar med filer och alternativ för deras användning. I praktiken räcker det att använda enkla men arbetsalternativ. Filen är först och främst programminnet. Du kan lagra information i den. Syftet med varje program, syftet med en webbplats är att presentera, bearbeta och säkerställa informationens säkerhet.

Betydande omständigheter

Det brukade vara ett orubbligt krav på kompatibilitetåtminstone från botten till toppen. Det vill säga, när ett program har skrivits i en version av programmeringsspråket, sammanställs / tolkas det idealiskt i nästa version. Detta är inte fallet i modern programmering. Kravet på kompatibilitet med syntaktiska konstruktioner av språket har gått in i historien, och kampen mellan stilar och programmeringsverktyg och versioner av vissa verktyg har blivit normen i deras liv.

Att arbeta med filer, precis som med databaser, är viktigtlika mycket som webbplatsgränssnittet är viktigt. Den första ska byggas på ett sådant sätt att när du byter plattform, webbhotell, språkversion, behöver du inte ändra webbplatskoden. Gränssnittet för att arbeta med filer bör placeras i ett separat skript och säkerställa fullständig kompatibilitet, precis som webbdesignen bör anpassas till alla enheter, webbläsare och ge resten av webbplatsens funktioner samma funktioner.

Läs och ändra dig själv

Kan programmet ändra sig, det vill säga kanBlir manuset bättre? Till denna dag är denna fråga intressant för många. Men uppgiften låter mycket mer praktisk: PHP läser en PHP-fil. Inte alltid kan en utvecklare lösa ett visst problem genom att skriva specifik kod. Ibland är det nödvändigt att ändra det när en besökare kommer till webbplatsen och formulerar en fråga som inte föreskrivs i utvecklingsstadiet.

Som i alla andra fall, först och främstfilen måste öppnas. Det spelar ingen roll om den här filen finns eller inte. Om det är känt att filen existerar (funktionen file_exists () ger ett bekräftande svar) används fopen () -funktionen med åtkomst 'r', 'r +', 'a', 'a +'. Om filen ännu inte finns, då med åtkomst 'a', 'a +', 'w', 'w +'. Att öppna filen kommer att resultera i dess beskrivning. Filen stängs med funktionen fclose ().

php läsa fil rad för rad

Det är praktiskt att använda PHP för att läsa en fil i en array när det inte finns något behov av att bearbeta den vid tidpunkten för läsning.

om (file_exists ($ fName)) {

$ aLines = fil ($ fName)

}

I det här fallet kommer varje rad i filen in i array-elementet sekventiellt. Det bör noteras att filen () eller file_get_contents () inte behöver öppna och stänga filen.

När inmatningsfilen är för stor och du måste hittamed mycket lite information eller av andra skäl kan du använda PHP för att läsa filen rad för rad. PHP ger möjlighet att göra detta med funktionerna fgets () och fgetc ().

$ cLines = ""

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

$ i = 0

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

$ i ++

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

}

fclose ($ fvs)

php läsa filen i array

Båda alternativen fungerar felfritt.Men när du utför PHP som läser en PHP-fil för senare ändring bör du vidta försiktighetsåtgärder. Det är långt ifrån alltid möjligt att förutse alternativen för besökarnas användning vid utvecklingen av webbplatsen. Det är bättre om manusen ändras inom platsfunktionerna, och kontrollen av denna ändring är inte tillgänglig för besökaren, inklusive resursadministratören.

Sparar resultat

Den mottagna och uppdaterade informationen skrivs till filen av funktionerna fputs () rad för rad eller av funktionen file_put_contents () som helhet.

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

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

flock ($ fvs, LOCK_EX)

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

fputs ($ fvs, $ cLine)

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

fputs ($ fvs, $ cLine)

fflush ($ fvs)

flock ($ fvs, LOCK_UN)

fclose ($ fvs)

I linje-för-rad-versionen av inspelningen kan du manipulera data under inspelningsprocessen. I det andra fallet placeras den skrivna raden eller matrisen i filen som helhet.

$ file = "scData.php"

$ cContents = file_get_contents ($ file)

// lägg till post

$ cContents. = "ny postn"

// skriv tillbaka filen

file_put_contents ($ file, $ cContents)

läs skriv php-filer

Att läsa och skriva PHP-filer är enkelt ochnaturligtvis. Det är dock viktigt att komma ihåg: varje fil har ett namn, tillägg och sökväg (mapp). För att ett PHP-skript ska kunna läsa och skriva filer måste detta skript ha rätt behörighet. De publiceras automatiskt på webbhotellet, men i vissa fall behöver de förlängas.

I vissa fall är det lämpligt att kontrolleraresultat genom att göra en testläsning. Att skriva PHP-filer kräver detta under utvecklingen, men i vissa fall är det av hänsyn till webbplatsens säkerhet eller tillförlitlighet viktigt att validera skrivningen av data.

Ett kännetecken för PHP, MySQl, JavaScript ochsärskilt webbläsare: tyst låta några buggar gå sin kurs. "Inte erkänt, inte gjort ..." är inte särskilt bra i framkant inom informationstekniken, men det lär utvecklare att inte göra misstag och skriva ren högkodskod, vilket också är bra.

PHP och arbeta med riktiga dokument

PHP som läser en PHP-fil kommer säkert att representerapraktiskt intresse, men det här är programmeringsområdet. Användaren och besökaren på webbplatser är intresserade av information av tillämpad karaktär, som han är van vid att se i form av tabeller och dokument, i synnerhet i formaten * .xlsx och * .docx-filer. Det här är filer i MS Excel- och MS Word-format.

Det är allmänt accepterat att skapa listor över varor, priser, egenskaper i form av tabeller, därför är PHP-läsning av Excel-filen nödvändig.

Bibliotek har utvecklats för att arbeta med sådana filerPHPExcel och PHPWord. Innehållet i * .xlsx- och * .docx-filerna presenteras dock i OOXML-standarden, det vill säga ett verkligt förståeligt dokument representeras av ett zip-arkiv. Zip-arkiv är en uppsättning filer, inklusive bilder, objekt, formler, inlägg från andra program. Textfiler representeras här av beskrivningar i form av taggar. Det räcker inte att läsa en sådan fil, du måste analysera den för att få innehållet och strukturen för användning och modifiering.

php läsrad från fil

Detta innebär att läsoperationen blirförfarandet för att öppna arkivet. Dessa bibliotek öppnar dokumentarkivet på egen hand och ger utvecklaren omfattande funktioner för att läsa, bearbeta och skriva sådana dokument.

Excel-tabeller

För att läsa ett Excel-kalkylblad behöver du bara veta namnet på filen och sökvägen till den ($ xls). Som ett resultat av att följande kod körs genereras en rad värden i den ursprungliga Excel-tabellen:

include_once 'PhpOffice / PhpExcel / IOFactory.php'

funktion scGetExcelFile ($ xls) {

$ objPHPExcel = PHPExcel_IOFactory :: belastning ($ xls)

$ objPHPExcel-> setActiveSheetIndex (0)

// den här matrisen innehåller strängarrayer

$ aSheet = $ objPHPExcel-> getActiveSheet ()

$ array = array ()

//behandling

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

$ cellIterator = $ rad-> getCellIterator ()

$ artikel = matris ()

foreach ($ cellIterator som $ cell) {

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

}

array_push ($ array, $ item)

}

returnera $ array

}

Läser och bearbetar Excel-filer betydligtsvårare att hantera Word-dokument. Det bästa alternativet, om du behöver genomföra ett seriöst projekt för att läsa och bearbeta applikationsinformation, är att först behärska PHPWord-biblioteket. Detta kommer att ge en bra upplevelse och ett snabbt inträde i detaljerna i frågan.

Word-dokument

Bara två rader:

$ oWord = nytt PhpOfficePhpWordPhpWord ()

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

Dokumentet $ cFileName är nu tillgängligt för bearbetning. Sedan öppnas arkivet, dess innehåll väljs ut och analyseras, vilket kan visas på webbplatsen, ändras och skrivas tillbaka.

php läs Excel-fil

$ zipClass = ny ZipArchive ()

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

// läs hela innehållet i dokumentet

för ($ i = 0; $ i <$ zipClass-> numFiles; $ i ++) {

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

$ cNameInExt = substr ($ cNameIn, -4)

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

// filer med tilläggen ".xml" och ".xml.rels" sparas i dokumenttabellen

// varje xml-rad skrivs med ett unikt nummer i ordning

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

$ cBodyInLen = strlen ($ cBodyIn)

} annat {

// alla andra filer skrivs till dokumentmappen som de är

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

$ zipClass-> getFromName ($ cNameIn, $ cWorkPath); // innehåll som fil

}

Möjligheter öppnade med PHPMed Excel och PHP Word kan du manipulera riktiga dokument, göra deras innehåll relevant vid varje given tidpunkt. I dagens dynamiska värld blir detta mycket viktigt. Tyngdpunkten har för länge sedan flyttat från den lokala användningen av datorteknik till det virtuella internetutrymmet. Därför är det mindre effektivt att skapa tabeller och dokument i lokala produkter från Microsoft än att arbeta med sådana dokument i automatiskt och halvautomatiskt läge på en webbplats som inte bara är tillgänglig för skaparen av bordet eller dokumentet utan också för dess konsumenter.

Textfiler, ett annat liv

Som en första approximation är textfiler enklare änPHP-filer eller applikationsdokument. Det finns dock mycket att tänka på här. Läs / skriv-operationer för sådana filer anges redan ovan, men betydelsen av sådana filer är mycket viktigare.

Om det finns en sådan given som en klient och en server (påden första domineras av JavaScript, den andra av PHP), då kan inte cookie- och sessionmekanismerna klara av behovet av att överföra information mellan skript, sidor eller sådana eller andra processer.

Det är möjligt att återspegla önskade ändringar i databasen, menför alla deras fördelar och hastighet kan små tillfälliga eller permanenta textfiler vara ett mycket mer intressant sätt att överföra information. Om du inte skapar många små filer och kontrollerar deras storlek kan de representera en specifik och mer flexibel version av databasen.

php läst textfil

PHP att läsa en textfil är snabb,det kan omedelbart analyseras i en struktur, matris eller objekt. Det senare är mycket viktigt, eftersom det låter dig skapa objekt som lever utanför den tid som tilldelats till PHP-skript, som, som du vet, bara kan finnas på servern och bara i det ögonblick som sidan laddas, är AJAX-svaret genereras, eller av annan anledning som gör att PHP-tolk körs.

Lovande idéer, rekommendationer

Om du tänker på vad en textfil ärinnehåll och struktur från utvecklaren, PHP-filen är tolkens syntax plus utvecklarens logik, och "taggade" beskrivningar av html, css, xml är mer semantiska element, men regleras av statiska standarder. Du kan komma till slutsatsen att det förmodligen är dags för filerna att skaffa nytt innehåll, och det bör själv avgöra deras kvalitet och logik. Just för att programmering ännu inte är redo för nästa steg i utvecklingen är filer nu bara filer som utvecklaren skapar och bestämmer deras användning.

Det mest intressanta och lovande när PHPPHP-filen läses på egen hand när behov uppstår. Och en enkel PHP-avläsning av en rad från en fil leder till att ett objekt skapas, åtminstone i det tillstånd där det sparades. Det här är inte helt välbekanta idéer, men trots allt förändras allt i den moderna världen så snabbt.