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: