PHP fájl() kezelése és függvényei
⚡ Okos összefoglaló
A PHP fájlfeldolgozása beépített függvények gazdag készletét használja fájlok létrehozásához, olvasásához, írásához, másolásához és törléséhez a szerveren. Ez a bemutató a file_exists, az fopen és módjai, az fwrite, fclose, fgets, copy, unlink és a file_get_contents függvényeket tárgyalja gyakorlati példákkal illusztrálva.

Mi az a fájl?
A fájl egyszerűen egy erőforrás az információk számítógépen való tárolására.
A fájlok általában olyan információk tárolására szolgálnak, mint például:
- Egy program konfigurációs beállításai
- Egyszerű adatok, például a kapcsolattartók nevei és telefonszámai.
- Képek, képek, fotók és hasonló médiatartalmak.
PHP fájlformátumok támogatása
A PHP fájlfunkciók a fájlformátumok széles skáláját támogatják, beleértve:
- Fájl.txt
- File.log
- Fájl.egyéni_kiterjesztés, azaz fájl.xyz
- Fájl.csv
- File.gif, file.jpg és hasonló képformátumok
A fájlok számos esetben hasznosak:
- Állandó, költséghatékony adattárolási megoldást kínálnak az egyszerű adatokhoz, összehasonlítva azokkal az adatbázisokkal, amelyek más szoftvereket és ismereteket igényelnek a DBMS rendszerek kezeléséhez.
- Egyszerű adatokat, például szervernaplókat szeretne tárolni későbbi visszakeresés és elemzés céljából.
- A programbeállításokat, azaz a program.ini fájlt szeretnéd tárolni.
PHP fájlfüggvények
A PHP a beépített függvények gazdag gyűjteményének köszönhetően kényelmes módot kínál a fájlokkal való munkára.
Operating rendszerek, mint pl Windows és a macOS nem megkülönböztetik a kis- és nagybetűket, míg Linux or Unix operációs rendszerek megkülönböztetik a kis- és nagybetűket.
A fájlok elnevezésére vonatkozó elnevezési konvenciók, például a kisbetűk használata jó gyakorlat, amely biztosítja a maximális platformfüggetlen kompatibilitást.
Most pedig nézzük meg a leggyakrabban használt PHP fájlfüggvényeket.
PHP file_exists() függvény
Ez a funkció annak meghatározására szolgál, hogy egy fájl létezik-e vagy sem.
- Akkor hasznos, ha egy fájl létezésének meglétét szeretnénk tudni a feldolgozás előtt.
- Ezt a funkciót akkor is használhatja, amikor új fájlt hoz létre, és meg akarja győződni arról, hogy a fájl még nem létezik a szerveren.
A file_exists függvény szintaxisa a következő.
<?php file_exists($filename); ?>
ITT,
- A „file_exists()” a PHP függvény, amely igazat ad vissza, ha a fájl létezik, és false értéket, ha nem létezik.
- A „$filename” a vizsgálandó fájl elérési útja és neve.
Az alábbi kód a file_exists függvényt használja annak megállapítására, hogy létezik-e a my_settings.txt fájl.
<?php if (file_exists('my_settings.txt')) { echo 'file found!'; } else { echo 'my_settings.txt does not exist'; } ?>
Mentsd el a fenti kódot egy file_function.php nevű fájlba. Feltételezve, hogy a fájlt a htdocs phptuts mappájába mentetted, nyisd meg a URL http://localhost/phptuts/file_function.php a böngésződben. A következő eredményeket fogod kapni.
PHP fopen() függvény
Az fopen függvény fájlok megnyitására szolgál. Szintaxisa a következő.
<?php fopen($file_name,$mode,$use_include_path,$context); ?>
ITT,
- Az „fopen” a PHP fájl megnyitása funkciója
- A „$file_name” a megnyitandó fájl neve
- A „$mode” a fájl megnyitásához használt mód. Az alábbi táblázat a módokat mutatja.
| Mód | Leírás |
|---|---|
| r | • Olvassa el a fájlt az elejétől. • Hamis értéket ad vissza, ha a fájl nem létezik. • Csak olvasható |
| r+ | • Olvassa el a fájlt az elejétől • Hamis értéket ad vissza, ha a fájl nem létezik. • Olvass és írj |
| w | • Írja be a fájlba az elején • Csonkolja a fájlt nulla hosszúságúra • Ha a fájl nem létezik, próbálja meg létrehozni. • Csak írjon |
| w+ | • Írjon fájlba az elején, csonkolja a fájlt nullára • Ha a fájl nem létezik, próbálja meg létrehozni. • Olvass és írj |
| a | • Hozzáfűzi a fájl végéhez • Ha a fájl nem létezik, próbálja meg létrehozni. • Csak írjon |
| a+ | • Hozzáfűzi a fájl végéhez • Ha a fájl nem létezik, próbálja meg létrehozni • Olvass és írj |
- A „$use_include_path” opcionális, az alapértelmezett érték hamis. Ha igazra van állítva, a függvény a beillesztési útvonalon is keres.
- A „$context” opcionális, és a kontextus támogatásának megadására használható.
PHP fwrite() függvény
Az fwrite függvény fájlokba írásra szolgál.
A következő szintaxissal rendelkezik.
<?php fwrite($handle, $string, $length); ?>
ITT,
- Az „fwrite” a PHP funkciója a fájlok írására
- A „$handle” a fájlmutató erőforrása
- A „$string” a fájlba írandó adat.
- A „$length” opcionális, és a maximális fájlhossz megadására használható.
PHP fclose() függvény
Az fclose() függvény PHP-ben egy már megnyitott fájl bezárására szolgál.
A következő szintaxissal rendelkezik.
<?php fclose($handle); ?>
ITT,
- „fclose” a PHP függvény megnyitott fájl bezárásához
- A „$handle” a fájlmutató erőforrása.
Most nézzünk egy példát, amely létrehozza a my_settings.txt fájlt. Az fopen, fwrite és fclose függvényeket fogjuk használni.
A „create_my_settings_file.php” alatti kód megvalósítja a fenti példát.
| Nyissa meg a fájlt |
<?php $fh = fopen("my_settings.txt", 'w') or die("Failed to create file"); ?> |
| Fájl bezárása |
<?php fclose($fh); ?> |
| Fájl létrehozása |
<?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"; ?> |
A kód tesztelése
Nyissa meg a URL http://localhost/phptuts/create_my_settings.php a böngészőben.
A következő oldalt fogod kapni.
Megjegyzés: ha a lemez megtelt, vagy nincs engedélye fájlok írására, hibaüzenetet fog kapni.
Váltson vissza a URL http://localhost/phptuts/file_function.phpMilyen eredményeket kapsz?
PHP fgets() függvény
Az fgets függvény PHP fájlok soronkénti beolvasására szolgál. Alapvető szintaxisa a következő.
<?php fgets($handle); ?>
ITT,
- Az „fgets” egy PHP függvény a fájlsorok olvasására.
- A „$handle” a fájlmutató erőforrása.
Most nézzünk egy példát, amely a my_settings.txt fájlt olvassa be az fopen és fgets függvények segítségével.
A read_my_settings.php alábbi kód a fenti példát valósítja meg.
<?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); ?>
ITT,
- Az „fopen” függvény visszaadja a mutatót a fájl elérési útjában megadott fájlra
- A „die()” függvényt hiba esetén hívjuk meg. Megjelenít egy üzenetet, és kilép a szkript végrehajtásából.
PHP copy() függvény
A PHP másolási függvénye fájlok másolására szolgál. Alapvető szintaxisa a következő.
<?php copy($file,$copied_file); ?>
ITT,
- A „$file” a másolandó fájl elérési útját és nevét adja meg.
- A „$copied_file” paraméterrel megadható a másolt fájl elérési útja és neve.
Az alábbi kód a megvalósítást szemlélteti.
<?php copy('my_settings.txt', 'my_settings_backup.txt') or die("Could not copy file"); echo "File successfully copied to 2"; ?>
Fájl törlése
Az unlink függvény fájlok törlésére szolgál. Az alábbi kód a megvalósítását szemlélteti.
<?php if (!unlink('my_settings_backup.txt')) { echo "Could not delete file"; } else { echo "File 1 successfully deleted"; } ?>
PHP file_get_contents() függvény
A file_get_contents függvény a teljes fájltartalom beolvasására szolgál.
A file_get_contents és az fgets közötti különbség az, hogy a file_get_contents karakterláncként adja vissza a fájl adatait, míg az fgets soronként olvassa be a fájlt.
Az alábbi kód a megvalósítást szemlélteti.
<?php echo "<pre>"; // Enables display of line feeds echo file_get_contents("my_settings.txt"); echo "</pre>"; // Terminates pre tag ?>
PHP fájlfüggvények gyorsreferenciája
Az alábbi táblázat összefoglalja az ebben az oktatóanyagban tárgyalt fájlfüggvényeket.
| Funkció | Leírás |
|---|---|
| A fájl létezik | Annak meghatározására szolgál, hogy létezik-e fájl vagy sem |
| nyisd ki | Fájl megnyitására szolgál. Egy mutatót ad vissza a megnyitott fájlra |
| fwrite | Fájlok írására szolgál |
| fclose | Megnyitott fájl bezárására szolgál |
| fgets | Egy fájl soronkénti olvasására szolgál |
| másolat | Meglévő fájl másolására szolgál |
| leválasztás | Meglévő fájl törlésére szolgál |
| file_get_contents | A fájl tartalmának karakterláncként való visszaadására szolgál |


