Php file_put_contents funksjon

Php file_put_contents funksjon
Mange funksjoner finnes i PHP for å skrive innhold i filen. File_put_contents () -funksjonen er en av dem. Det brukes til å skrive noen strengdata i en fil. Hvis filen eksisterer, vil denne funksjonen overskrive det forrige innholdet med de nye strengdataene eller legge til strengen på slutten av filen. Hvis filen ikke eksisterer, opprettes en ny fil automatisk med strengverdien. Syntaksen til denne funksjonen er gitt nedenfor.

Syntaks:

Int | false file_put_contents (String $ filnavn, blandede $ data [, int $ flagg = 0 [, ressurs $ kontekst]])

Det første argumentet er obligatorisk, og det brukes til å definere filnavnet der dataene vil bli skrevet.

Det andre argumentet er obligatorisk og brukes til å definere dataene som er skrevet i filen.

Det tredje argumentet er valgfritt, som brukes til å definere åpning av filen eller skrive dataene. Noen av følgende verdier kan brukes i dette argumentet.

File_use_include_path:
Det brukes søket filen i Include -katalogen.

File_append:
Hvis filen eksisterer, brukes den til å legge til dataene på slutten av filen.

LOCK_EX:
Den brukes til å stille den eksklusive låsen på filen når du skriver.

De Fjerde argument er valgfri og brukes til å definere strømmenes oppførsel eller konteksten for å håndtere filen.

Funksjonen kommer tilbake Antall tegn som er skrevet inn i filen og returnerer falsk hvis ingen data skrives inn i filen

file_put_contents () funksjonseksempler

Ulike bruksområder for File_Put_Contents () -funksjonen er vist i neste del av denne opplæringen ved å bruke flere eksempler. Du har angitt de nødvendige lese- og skrive tillatelser til mappen der filen vil være lokalisert før du øver på eksemplene på denne opplæringen; Ellers vil tillatelsen nektet feil oppstå. Kjør følgende kommando for å angi all tillatelse til mappen, '/var/www/html/php'.

$ sudo chmod -r 777/var/www/html/php

Eksempel-1: Skriv/Overskriv innholdet til en fil

Lag en PHP -fil med følgende skript som vil skrive en tekst i en tekstfil som ligger inne i mappen, '/var/www/html/php'. Hvis temp.tekst filen eksisterer før, så vil filen_put_contents () overskrive filens innhold. Hvis temp.tekst Filen eksisterer ikke, da vil filen File_Put_Contents () opprette filen automatisk før du skriver. Deretter brukes File_Get_Contents () -funksjonen i skriptet for å sjekke om teksten er skrevet riktig i filen eller ikke.

// angi filnavnet
$ filnavn = "Temp.tekst";
// Angi strengverdien
$ str = "Legge til innhold i filen.";
// Skriv innhold til filen
file_put_contents ('/var/www/html/php/'.$ filnavn, $ str) eller print_r (error_get_last ());
// Sjekk filen eksisterer eller ikke
if (file_exists ($ filnavn))

ekko "Innholdet i filen:
";
// Skriv ut innholdet i filen
ekko file_get_contents ($ filnavn);

?>

Produksjon:

Følgende utdata vil bli vist etter å ha utført skriptet ovenfor hvis teksten ble skrevet ordentlig i filen.

Eksempel-2: Legg til data i et eksisterende filnavn

Lag en PHP -fil med følgende skript som legger til en tekst med den nye linjen i en eksisterende tekstfil som ligger inne i mappen, '/var/www/html/php'. De File_append og LOCK_EX Alternativer brukes i det tredje argumentet for File_Put_Contents () -funksjonen for å legge til teksten til temp.tekst fil. Deretter brukes File_Get_Contents () -funksjonen i skriptet for å sjekke om teksten er skrevet riktig i filen eller ikke.

// angi filnavnet
$ filnavn = "Temp.tekst";
// Sjekk filen eksisterer eller ikke
if (file_exists ($ filnavn))

ekko "Innholdet i filen før du legger til:
";
// Skriv ut innholdet i filen
ekko file_get_contents ($ filnavn);
// Angi strengverdien
$ str = "Legg til nytt innhold i filen.\ n ";
// Skriv innhold til filen
file_put_contents ('/var/www/html/php/'.$ filnavn, $ str, file_append | Lock_ex) eller print_r (error_get_last ());
ekko "
Innholdet i filen etter å ha lagt til:
";
// Skriv ut innholdet i filen
ekko file_get_contents ($ filnavn);

?>

Produksjon:

Følgende utdata vil bli dukket opp etter å ha utført skriptet ovenfor hvis teksten ble lagt på riktig måte i filen.

Eksempel-3: Skriv/Overskriv filinnholdet ved hjelp av file_use_include_path

Du må aktivere inkluderer_path Direktiv i PHP.Inn jeg fil for bruk FILE_USE_INCLUDE_PATH Alternativ, det tredje argumentet til File_Put_Contents () -funksjonen. Åpne PHP.Inn jeg fil og fjern semikolonet (;) fra fronten av følgende linje.

inkluderer_path = ".:/usr/share/php "

Kjør følgende kommando fra terminalen for å starte Apache -serveren på nytt etter å ha endret PHP.Inn jeg fil.

$ sudo service apache2 omstart

Lag en PHP -fil med følgende skript som vil skrive/overskrive teksten med Newline i en eksisterende tekstfil som heter myfile.tekst som ligger på stedet definert i inkluderer_path direktiv. Deretter har File_Get_Contents () -funksjonen blitt brukt i skriptet for å sjekke teksten er skrevet riktig i filen eller ikke.

// angi filnavnet
$ filnavn = "myfile.tekst";
// Angi strengverdien
$ str = "Skrive data til en fil ved hjelp av file_put_contents ().\ n ";
// Skriv innhold til filen
file_put_contents ($ filnavn, $ str, file_use_include_path) eller dø ("Kan ikke åpne filen.");
ekko "Innholdet i filen:
";
// Skriv ut innholdet i filen
ekko file_get_contents ($ filnavn, true);
?>

Produksjon:

Følgende utdata vil bli vist etter å ha utført skriptet ovenfor hvis teksten ble skrevet ordentlig i filen.

Eksempel-4: Skriv til en fil ved å opprette en katalog

Lag en PHP -fil med følgende skript som vil skrive/overskrive teksten med den nye linjen i en tekstfil som heter testing.tekst Ligger inne i katalogen som heter 'midlertidig'Ved å bruke en brukerdefinert funksjon som heter WritIntofile(). Denne funksjonen vil opprette katalogen hvis katalogen ikke eksisterer på det nåværende stedet før du skriver inn i filen. Deretter brukes File_Get_Contents () -funksjonen i skriptet for å sjekke om teksten er skrevet riktig i filen eller ikke.

// definere å fungere for å skrive i fil ved å lage katalog hvis ikke eksisterer
Funksjon WritIntOfile ($ dir, $ fil, $ data)
// Opprett katalogen hvis ikke eksisterer
hvis(!is_dir ($ dir))
mkdir ($ dir);
// Skriv data i filen
file_put_contents ("$ dir/$ fil", $ data);

// Initialiser de nødvendige variablene
$ katalog = 'midlertidig';
$ filnavn = 'Testing.tekst';
$ str = 'Testing av filinnhold.';
// Ring funksjonen for å skrive inn i filen
WritIntOfile ($ katalog, $ filnavn, $ str);
// Sjekk filen eksisterer eller ikke
if (file_exists ("$ katalog/$ filnavn")

ekko "Innholdet i filen:
";
// Skriv ut innholdet i filen
ekko file_get_contents ("$ katalog/$ filnavn");

?>

Produksjon:

Følgende utdata vil bli vist etter å ha utført skriptet ovenfor hvis teksten ble skrevet ordentlig i filen.

Konklusjon

Ulike måter å skrive innhold på en fil ved å bruke File_put_contents () -funksjonen er vist i eksemplene på denne opplæringen for å hjelpe PHP -brukerne til å bruke denne funksjonen riktig i skriptet.