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 |


