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.

  • ๐Ÿ“„ Koje datoteke pohranjuju: Datoteke sadrลพe postavke konfiguracije, zapisnike i jednostavne podatke, ลกto pruลพa jeftiniju opciju trajne pohrane u usporedbi s bazom podataka.
  • ๐Ÿ” Provjera datoteka: file_exists() potvrฤ‘uje je li datoteka prisutna prije nego ลกto je ฤitate iz nje ili je kreirate, izbjegavajuฤ‡i pogreลกke.
  • ๐Ÿ“‚ Otvaranje datoteka: fopen() otvara datoteku u naฤinu rada kao ลกto je r, w ili a, koji kontrolira ฤitanje, pisanje i dodavanje.
  • โœ๏ธ Pisanje i zatvaranje: fwrite() ลกalje podatke u handle datoteke, a fclose() otpuลกta handle kada je posao zavrลกen.
  • ???? ฤŒitanje datoteka: fgets() ฤita redak po redak, dok file_get_contents() vraฤ‡a cijelu datoteku kao jedan niz znakova.
  • ๐Ÿ—‚๏ธ Kopiraj i izbriลกi: copy() duplicira datoteku na novu putanju, a unlink() trajno briลกe datoteku s posluลพitelja.
  • ๐Ÿค– AI pomoฤ‡: Alati umjetne inteligencije mogu generirati kod za parsiranje datoteka i brzo rijeลกiti pogreลกke u dopuลกtenjima ili neuspjeลกnom otvaranju streama.

Obrada PHP datoteka

ล 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.

Funkcija PHP file_exists().

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.

PHP funkcija fclose

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

Pitanja i odgovori

Funkcija fgets ฤita jedan redak po pozivu, fread ฤita zadani broj bajtova iz otvorenog identifikatora, a file_get_contents ฤita cijelu datoteku u niz znakova u jednom pozivu bez potrebe za fopen ili fclose.

Funkcija fwrite zapisuje u otvoreni identifikator datoteke i oko nje su potrebni fopen i fclose. Funkcija file_put_contents otvara, zapisuje i zatvara datoteku u jednom pozivu, ลกto je ฤini kraฤ‡im izborom za jednostavno pisanje.

Koristite is_writable('file.txt') za provjeru dopuลกtenja za pisanje prije pisanja i file_exists() za potvrdu prisutnosti datoteke. Na Unix sustavima, chmod() moลพe prilagoditi dopuลกtenja ako web posluลพitelj posjeduje datoteku.

Da. Opiลกite format, kao ลกto su CSV, JSON ili izgled zapisnika, a umjetna inteligencija moลพe generirati kod pomoฤ‡u fgetcsv, json_decode ili prilagoฤ‘ene petlje, plus obradu pogreลกaka za nedostajuฤ‡e ili oลกteฤ‡ene datoteke. Testirajte sa stvarnim podacima.

Da. Podijelite putanju i greลกku, a umjetna inteligencija moลพe prepoznati pogreลกnu relativnu putanju, datoteku koja nedostaje ili problem s dozvolama, a zatim predloลพiti koriลกtenje apsolutne putanje, stvaranje datoteke ili prilagoฤ‘avanje dozvola.

Saลพmite ovu objavu uz: