Rukovanje i funkcije PHP datoteke().
⚡ Pametni sažetak
Obrada datoteka u PHP-u koristi bogat skup ugrađenih funkcija za stvaranje, čitanje, pisanje, kopiranje i brisanje datoteka na poslužitelju. Ovaj vodič pokriva file_exists, fopen i njegove načine rada, fwrite, fclose, fgets, copy, unlink i file_get_contents s praktičnim primjerima.

Što je datoteka?
Datoteka je jednostavno izvor za pohranu informacija na računalu.
Datoteke se obično koriste za pohranu informacija kao što su:
- Konfiguracijske postavke programa
- Jednostavni podaci poput imena kontakata u odnosu na telefonske brojeve.
- Slike, fotografije, fotografije i slični mediji.
Podrška za PHP formate datoteka
PHP funkcije datoteka podržavaju širok raspon formata datoteka koji uključuju:
- Datoteka.txt
- Datoteka.log
- Datoteka.prilagođena_ekstenzija, tj. datoteka.xyz
- Datoteka.csv
- Datoteka.gif, datoteka.jpg i slični formati slika
Datoteke su korisne u nekoliko situacija:
- Oni pružaju trajno, isplativo rješenje za pohranu jednostavnih podataka, u usporedbi s bazama podataka koje zahtijevaju drugi softver i vještine za upravljanje DBMS sustavima.
- Želite pohraniti jednostavne podatke poput zapisnika poslužitelja za kasnije preuzimanje i analizu.
- Želite pohraniti postavke programa, tj. program.ini
PHP funkcije datoteka
PHP pruža praktičan način rada s datotekama putem bogate kolekcije ugrađenih funkcija.
Operating sustavi kao što su Windows i macOS ne razlikuju velika i mala slova, dok Linux or Unix operativni sustavi razlikuju velika i mala slova.
Usvajanje konvencije imenovanja poput korištenja samo malih slova za imenovanje datoteka dobra je praksa koja osigurava maksimalnu kompatibilnost između platformi.
Pogledajmo sada neke od najčešće korištenih PHP funkcija za datoteke.
Funkcija PHP file_exists().
Ova se funkcija koristi za određivanje postoji li datoteka ili ne.
- To je korisno kada želimo znati postoji li datoteka prije nego što je obradimo.
- Također možete koristiti ovu funkciju kada stvarate novu datoteku i želite biti sigurni da datoteka već ne postoji na poslužitelju.
Funkcija file_exists ima sljedeću sintaksu.
<?php file_exists($filename); ?>
OVDJE,
- “file_exists()” je PHP funkcija koja vraća true ako datoteka postoji i false ako ne postoji.
- „$filename“ je putanja i naziv datoteke koju treba provjeriti
Donji kod koristi funkciju file_exists kako bi utvrdio postoji li datoteka my_settings.txt.
<?php if (file_exists('my_settings.txt')) { echo 'file found!'; } else { echo 'my_settings.txt does not exist'; } ?>
Spremite gornji kod u datoteku pod nazivom file_function.php. Pod pretpostavkom da ste datoteku spremili u mapu phptuts u htdocs, otvorite URL http://localhost/phptuts/file_function.php u vašem pregledniku. Dobit ćete sljedeće rezultate.
PHP fopen() funkcija
Funkcija fopen se koristi za otvaranje datoteka. Ima sljedeću sintaksu.
<?php fopen($file_name,$mode,$use_include_path,$context); ?>
OVDJE,
- “fopen” je PHP funkcija otvaranja datoteke
- “$file_name” je naziv datoteke koju treba otvoriti
- „$mode“ je način rada u kojem bi se datoteka trebala otvoriti. Tablica u nastavku prikazuje načine rada.
| način | Description |
|---|---|
| r | • Pročitajte datoteku od početka. • Vraća vrijednost false ako datoteka ne postoji. • Samo za čitanje |
| r+ | • Pročitajte datoteku od početka • Vraća vrijednost false ako datoteka ne postoji. • Čitati i pisati |
| w | • Pišite u datoteku na početku • Skrati datoteku na nultu duljinu • Ako datoteka ne postoji, pokušajte je stvoriti. • Samo pisanje |
| w+ | • Pišite u datoteku na početku, skratite datoteku na nultu duljinu • Ako datoteka ne postoji, pokušajte je stvoriti. • Čitati i pisati |
| a | • Dodati u datoteku na kraju • Ako datoteka ne postoji, pokušajte je stvoriti. • Samo pisanje |
| a+ | • Dodati u datoteku na kraju • Ako datoteka ne postoji, pokušajte je stvoriti • Čitati i pisati |
- "$use_include_path" je opcionalno, zadano je false. Ako je postavljeno na true, funkcija pretražuje i uključenu putanju.
- "$context" je opcionalan i može se koristiti za određivanje podrške za kontekst.
Funkcija PHP fwrite().
Funkcija fwrite se koristi za pisanje u datoteke.
Ima sljedeću sintaksu.
<?php fwrite($handle, $string, $length); ?>
OVDJE,
- “fwrite” je PHP funkcija za pisanje u datoteke
- “$handle” je resurs pokazivača datoteke
- „$string“ su podaci koji će se zapisati u datoteku.
- "$length" je opcionalan i može se koristiti za određivanje maksimalne duljine datoteke.
PHP funkcija fclose().
Funkcija fclose() se koristi za zatvaranje datoteke u PHP-u koja je već otvorena.
Ima sljedeću sintaksu.
<?php fclose($handle); ?>
OVDJE,
- "fclose" je PHP funkcije za zatvaranje otvorene datoteke
- “$handle” je resurs pokazivača datoteke.
Pogledajmo sada primjer koji stvara datoteku my_settings.txt. Koristit ćemo funkcije fopen, fwrite i fclose.
Kod ispod “create_my_settings_file.php” implementira gornji primjer.
| Otvorite datoteku |
<?php $fh = fopen("my_settings.txt", 'w') or die("Failed to create file"); ?> |
| Zatvaranje datoteke |
<?php fclose($fh); ?> |
| Napravite datoteku |
<?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"; ?> |
Testiranje koda
Otvorite URL http://localhost/phptuts/create_my_settings.php u pregledniku.
Dobit ćete sljedeću stranicu.
Napomena: ako je vaš disk pun ili nemate dozvolu za pisanje datoteka, dobit ćete poruku o pogrešci.
Prebacite se natrag na URL http://localhost/phptuts/file_function.phpKakve rezultate dobivate?
Funkcija PHP fgets().
Funkcija fgets se koristi za čitanje PHP datoteka redak po redak. Ima sljedeću osnovnu sintaksu.
<?php fgets($handle); ?>
OVDJE,
- "fgets" je PHP funkcija za čitanje redaka datoteke
- “$handle” je resurs pokazivača datoteke.
Pogledajmo sada primjer koji čita datoteku my_settings.txt pomoću funkcija fopen i fgets.
Kod ispod read_my_settings.php implementira gornji primjer.
<?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); ?>
OVDJE,
- “fopen” funkcija vraća pokazivač na datoteku navedenu u putanji datoteke
- Funkcija „die()“ poziva se ako se dogodi greška. Prikazuje poruku i završava izvršavanje skripte.
Funkcija PHP copy().
PHP funkcija copy koristi se za kopiranje datoteka. Ima sljedeću osnovnu sintaksu.
<?php copy($file,$copied_file); ?>
OVDJE,
- “$file” navodi putanju datoteke i naziv datoteke koju treba kopirati.
- „$copied_file“ određuje putanju i naziv kopirane datoteke
Kod u nastavku ilustrira implementaciju.
<?php copy('my_settings.txt', 'my_settings_backup.txt') or die("Could not copy file"); echo "File successfully copied to 2"; ?>
Brisanje datoteke
Funkcija unlink koristi se za brisanje datoteke. Donji kod ilustrira implementaciju.
<?php if (!unlink('my_settings_backup.txt')) { echo "Could not delete file"; } else { echo "File 1 successfully deleted"; } ?>
PHP file_get_contents() funkcija
Funkcija file_get_contents koristi se za čitanje cijelog sadržaja datoteke.
Razlika između file_get_contents i fgets je u tome što file_get_contents vraća podatke datoteke kao niz znakova, dok fgets čita datoteku redak po redak.
Kod u nastavku ilustrira implementaciju.
<?php echo "<pre>"; // Enables display of line feeds echo file_get_contents("my_settings.txt"); echo "</pre>"; // Terminates pre tag ?>
Kratki vodič za funkcije PHP datoteka
Donja tablica sažima funkcije datoteka obrađene u ovom vodiču.
| funkcija | Description |
|---|---|
| dokument postoji | Koristi se za određivanje postoji li datoteka ili ne |
| otvorena | Koristi se za otvaranje datoteke. Vraća pokazivač na otvorenu datoteku |
| fpisati | Koristi se za pisanje u datoteke |
| fclose | Koristi se za zatvaranje otvorene datoteke |
| fgets | Koristi se za čitanje datoteke redak po redak |
| kopija | Koristi se za kopiranje postojeće datoteke |
| prekinuti vezu | Koristi se za brisanje postojeće datoteke |
| file_get_contents | Koristi se za vraćanje sadržaja datoteke kao niza |


