PHP faili() käsitlemine ja funktsioonid
⚡ Nutikas kokkuvõte
PHP failitöötlus kasutab serveris failide loomiseks, lugemiseks, kirjutamiseks, kopeerimiseks ja kustutamiseks rikkalikku sisseehitatud funktsioonide komplekti. See käsiraamat käsitleb funktsioone file_exists, fopen ja selle režiime, fwrite, fclose, fgets, copy, unlink ja file_get_contents praktiliste näidetega.

Mis on fail?
Fail on lihtsalt ressurss teabe salvestamiseks arvutisse.
Faile kasutatakse tavaliselt teabe salvestamiseks, näiteks:
- Programmi konfiguratsioonisätted
- Lihtsad andmed, näiteks kontaktide nimed telefoninumbrite vastu.
- Pildid, pildid, fotod ja sarnane meedia.
PHP failivormingute tugi
PHP-failifunktsioonid toetavad laia valikut failivorminguid, sealhulgas:
- Fail.txt
- File.log
- File.custom_extension, st file.xyz
- Fail.csv
- File.gif, file.jpg ja sarnased pildivormingud
Failid on kasulikud mitmel juhul:
- Need pakuvad lihtsate andmete püsivat ja kulutõhusat andmesalvestuslahendust, võrreldes andmebaasidega, mis vajavad andmebaasihaldussüsteemide haldamiseks muud tarkvara ja oskusi.
- Soovite salvestada lihtsaid andmeid, näiteks serverilogisid, hilisemaks otsimiseks ja analüüsimiseks.
- Sa tahad salvestada programmi seaded, st program.ini
PHP failifunktsioonid
PHP pakub mugavat viisi failidega töötamiseks tänu oma rikkalikule sisseehitatud funktsioonide kogule.
Operatingsüsteemid nagu Windows ja macOS ei ole tõstutundlikud, samas kui Linux or Unix operatsioonisüsteemid on tõstutundlikud.
Hea tava on failinimede puhul kasutada nimekonventsiooni, näiteks ainult väiketähti, mis tagab maksimaalse platvormidevahelise ühilduvuse.
Vaatleme nüüd mõningaid kõige sagedamini kasutatavaid PHP failifunktsioone.
PHP file_exists() Funktsioon
Seda funktsiooni kasutatakse faili olemasolu või mitteolemasolu määramiseks.
- See on mugav, kui tahame enne faili töötlemist teada, kas see on olemas.
- Seda funktsiooni saate kasutada ka uue faili loomisel ja soovite veenduda, et faili pole serveris juba olemas.
Funktsioonil file_exists on järgmine süntaks.
<?php file_exists($filename); ?>
SIIN,
- "file_exists()" on PHP funktsioon, mis tagastab tõene, kui fail on olemas, ja false, kui seda pole olemas.
- „$failinimi” on kontrollitava faili tee ja nimi.
Allolev kood kasutab funktsiooni file_exists, et teha kindlaks, kas fail my_settings.txt on olemas.
<?php if (file_exists('my_settings.txt')) { echo 'file found!'; } else { echo 'my_settings.txt does not exist'; } ?>
Salvesta ülaltoodud kood faili nimega file_function.php. Eeldades, et salvestasid faili htdocs-i kausta phptuts, ava fail URL http://localhost/phptuts/file_function.php oma brauseris. Saate järgmised tulemused.
PHP fopen() funktsioon
Funktsiooni fopen kasutatakse failide avamiseks. Sellel on järgmine süntaks.
<?php fopen($file_name,$mode,$use_include_path,$context); ?>
SIIN,
- "fopen" on PHP faili avamise funktsioon
- "$ faili_nimi" on avatava faili nimi
- „$mode” on režiim, milles faili avada. Allolev tabel näitab režiime.
| viis | Kirjeldus |
|---|---|
| r | • Loe faili algusest peale. • Tagastab väärtuse „väär”, kui faili pole olemas. • Ainult lugemiseks |
| r+ | • Lugege faili algusest peale • Tagastab väärtuse „väär”, kui faili pole olemas. • Lugege ja kirjutage |
| w | • Kirjuta alguses faili • Kärbi fail nullpikkuseni • Kui faili pole olemas, proovige see luua. • Ainult kirjuta |
| w+ | • Kirjuta alguses faili, kärbi faili pikkuseks null • Kui faili pole olemas, proovige see luua. • Lugege ja kirjutage |
| a | • Lisa faili lõppu • Kui faili pole olemas, proovige see luua. • Ainult kirjuta |
| a+ | • Lisa faili lõppu • Kui faili pole olemas, proovige see luua • Lugege ja kirjutage |
- „$use_include_path” on valikuline, vaikimisi on see „väär”. Kui see on seatud väärtusele „tõene”, otsib funktsioon ka lisamisteekonnast.
- „$context” on valikuline ja seda saab kasutada kontekstitoe määramiseks.
PHP fwrite() funktsioon
Failidesse kirjutamiseks kasutatakse funktsiooni fwrite.
Sellel on järgmine süntaks.
<?php fwrite($handle, $string, $length); ?>
SIIN,
- "fwrite" on PHP funktsioon failidesse kirjutamiseks
- "$handle" on failikursori ressurss
- „$string” on faili kirjutatavad andmed.
- „$length” on valikuline ja seda saab kasutada faili maksimaalse pikkuse määramiseks.
PHP fclose() funktsioon
Funktsiooni fclose() kasutatakse PHP-s juba avatud faili sulgemiseks.
Sellel on järgmine süntaks.
<?php fclose($handle); ?>
SIIN,
- "fclose" on PHP funktsioon avatud faili sulgemiseks
- "$handle" on failikursori ressurss.
Vaatame nüüd näidet, mis loob faili my_settings.txt. Kasutame funktsioone fopen, fwrite ja fclose.
Allpool olev kood "create_my_settings_file.php" rakendab ülaltoodud näidet.
| Avage fail |
<?php $fh = fopen("my_settings.txt", 'w') or die("Failed to create file"); ?> |
| Faili sulgemine |
<?php fclose($fh); ?> |
| Loo fail |
<?php $fh = fopen("my_settings.txt", 'w') or die("Failed to create file"); $text = <<<_END localhost;root;pwd1234;my_database _END; fwrite($fh, $text) or die("Could not write to file"); fclose($fh); echo "File 1 written successfully"; ?> |
Koodi testimine
avage URL http://localhost/phptuts/create_my_settings.php Teie brauser.
Saate järgmise lehe.
Märkus: kui teie ketas on täis või teil pole failide kirjutamise luba, kuvatakse tõrketeade.
Lülitu tagasi URL http://localhost/phptuts/file_function.phpMilliseid tulemusi te saate?
PHP fgets() funktsioon
Funktsiooni fgets kasutatakse PHP-failide rida-realt lugemiseks. Sellel on järgmine põhisüntaks.
<?php fgets($handle); ?>
SIIN,
- „fgets” on PHP funktsioon failiridade lugemiseks
- "$handle" on failikursori ressurss.
Vaatame nüüd näidet, mis loeb faili my_settings.txt funktsioonide fopen ja fgets abil.
Allolev kood read_my_settings.php rakendab ülaltoodud näidet.
<?php $fh = fopen("my_settings.txt", 'r') or die("File does not exist or you lack permission to open it"); $line = fgets($fh); echo $line; fclose($fh); ?>
SIIN,
- Funktsioon "fopen" tagastab kursori failiteel määratud failile
- Vea ilmnemisel kutsutakse välja funktsioon „die()“. See kuvab teate ja väljub skripti täitmisest.
PHP copy() funktsioon
PHP kopeerimisfunktsiooni kasutatakse failide kopeerimiseks. Sellel on järgmine põhisüntaks.
<?php copy($file,$copied_file); ?>
SIIN,
- “$file” määrab kopeeritava faili tee ja nime.
- „$copied_file” määrab kopeeritud faili tee ja nime.
Allolev kood illustreerib rakendamist.
<?php copy('my_settings.txt', 'my_settings_backup.txt') or die("Could not copy file"); echo "File successfully copied to 2"; ?>
Faili kustutamine
Faili kustutamiseks kasutatakse funktsiooni unlink. Allolev kood illustreerib selle rakendamist.
<?php if (!unlink('my_settings_backup.txt')) { echo "Could not delete file"; } else { echo "File 1 successfully deleted"; } ?>
PHP file_get_contents() Funktsioon
Funktsiooni file_get_contents kasutatakse kogu faili sisu lugemiseks.
file_get_contents ja fgets erinevus seisneb selles, et file_get_contents tagastab failiandmed stringina, samas kui fgets loeb faili rida-realt.
Allolev kood illustreerib rakendamist.
<?php echo "<pre>"; // Enables display of line feeds echo file_get_contents("my_settings.txt"); echo "</pre>"; // Terminates pre tag ?>
PHP failifunktsioonide kiirjuhend
Allolev tabel võtab kokku selles õpetuses käsitletud failifunktsioonid.
| funktsioon | Kirjeldus |
|---|---|
| file_exists | Kasutatakse faili olemasolu või mitte olemasolu määramiseks |
| avatud | Kasutatakse faili avamiseks. Tagastab kursori avatud failile |
| fwrite | Kasutatakse failidesse kirjutamiseks |
| fclose | Kasutatakse avatud faili sulgemiseks |
| fgets | Kasutatakse faili ridade kaupa lugemiseks |
| koopia | Kasutatakse olemasoleva faili kopeerimiseks |
| lahtiühendamine | Kasutatakse olemasoleva faili kustutamiseks |
| failide_sisaldus | Kasutatakse faili sisu tagastamiseks stringina |


