Rukovanje i funkcije PHP datoteke().
Š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 kao što su imena kontakata naspram telefonskih brojeva.
- Slike, slike, fotografije itd.
Podrška za PHP formate datoteka
PHP funkcije datoteka podržavaju širok raspon formata datoteka koji uključuju:
- Datoteka.txt
- Datoteka.log
- File.custom_extension tj. file.xyz
- Datoteka.csv
- File.gif, file.jpg itd
- Datoteke pružaju trajno isplativo rješenje za pohranu podataka za jednostavne podatke u usporedbi s bazama podataka koje zahtijevaju drugi softver i vještine za upravljanje DBMS sustavima.
- Želite pohraniti jednostavne podatke kao što su zapisnici poslužitelja za kasnije dohvaćanje i analizu
- Želite pohraniti postavke programa tj. program.ini
PHP file() funkcija
PHP pruža praktičan način rada s datotekama putem svoje bogate zbirke ugrađenih funkcija.
Operating sustavi kao što su Windows i MAC OS ne razlikuju velika i mala slova dok Linux or Unix operativni sustavi razlikuju velika i mala slova.
Usvajanje pretvorbe naziva kao što su samo mala slova za imenovanje datoteka dobra je praksa koja osigurava maksimalnu kompatibilnost s više platformi.
Pogledajmo sada neke od najčešće korištenih funkcija PHP datoteke.
Funkcija PHP file_exists().
Ova se funkcija koristi za određivanje postoji li datoteka ili ne.
- Dobro nam dođe kada prije obrade želimo znati postoji li datoteka ili ne.
- 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_exist 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.
- “$file_name” je staza i naziv datoteke koju treba provjeriti
Kôd u nastavku koristi funkciju file_exists za utvrđivanje 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 koristi se 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 u kojem se datoteka treba otvoriti, tablica ispod prikazuje načine
način | Description |
---|---|
r |
• Pročitajte datoteku od početka. • Vraća false ako datoteka ne postoji. • Samo za čitanje |
r+ |
• Pročitajte datoteku od početka • Vraća false ako datoteka ne postoji. • Čitati i pisati |
w |
• Pišite u datoteku na početku • skratiti 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+ |
• Php dodavanje u datoteku na kraju • Ako datoteka ne postoji pokušajte je stvoriti • Čitati i pisati |
- “$use_include_path” nije obavezan, zadana je vrijednost false, ako je postavljena na true, funkcija pretražuje i uključenu stazu.
- “$context” nije obavezan, može se koristiti za specificiranje kontekstne podrške.
Funkcija PHP fwrite().
Funkcija fwrite koristi se za pisanje datoteka.
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 se upisuju u datoteku.
- “$length” nije obavezan, može se koristiti za određivanje maksimalne duljine datoteke.
PHP funkcija fclose().
Funkcija fclose() koristi se 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 my_settings.txt.
Koristit ćemo sljedeće funkcije.
- Fopen
- Fpiš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 'my_settings.txt' 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.
Vratite se na URL http://localhost/phptuts/file_function.php .
Kakve rezultate postižete?
Funkcija PHP fgets().
Funkcija fgets koristi se za čitanje php datoteka red po red. Ima sljedeću osnovnu sintaksu. fgets($ručka); 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 dođe do pogreške. Prikazuje poruku i postoji izvršenje skripte
Funkcija PHP copy().
PHP funkcija kopiranja koristi se za kopiranje datoteka. Ima sljedeću osnovnu sintaksu. kopiraj($datoteka,$kopirana_datoteka); OVDJE,
- “$file” navodi putanju datoteke i naziv datoteke koju treba kopirati.
- “copied_file” navodi stazu 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 'my_settings_backup.txt'"; ?>
Brisanje datoteke
Funkcija prekida veze koristi se za brisanje datoteke. Kod u nastavku ilustrira implementaciju.
<?php if (!unlink('my_settings_backup.txt')) { echo "Could not delete file"; } else { echo "File 'my_settings_backup.txt' successfully deleted"; } ?>
PHP file_get_contents() funkcija
Funkcija file_get_contents koristi se za čitanje cijelog sadržaja datoteke.
Kod u nastavku ilustrira implementaciju.
Razlika između file_get_contents i fgets je u tome što file_get_contents vraća podatke datoteke kao niz dok fgets čita datoteku red po red.
<?php echo "<pre>"; // Enables display of line feeds echo file_get_contents("my_settings.txt"); echo "</pre>"; // Terminates pre tag ?>
rezime
- Datoteka je izvor za pohranu podataka
- PHP ima bogatu zbirku ugrađenih funkcija koje pojednostavljuju rad s datotekama.
- Uobičajene funkcije datoteka uključuju fopen, fclose, file_get_contents
- Donja tablica prikazuje sažetak obuhvaćenih funkcija
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 otvaranje zatvorenih datoteka |
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 |