PHP faili() käsitlemine ja funktsioonid

⚡ Nutikas kokkuvõte

PHP failitöötlus kasutab serveris failide loomiseks, lugemiseks, kirjutamiseks, kopeerimiseks ja kustutamiseks rikkalikku sisseehitatud funktsioonide komplekti. See käsiraamat käsitleb funktsioone file_exists, fopen ja selle režiime, fwrite, fclose, fgets, copy, unlink ja file_get_contents praktiliste näidetega.

  • 📄 Milliseid faile salvestatakse: Failid sisaldavad konfiguratsiooniseadeid, logisid ja lihtsaid andmeid, pakkudes andmebaasiga võrreldes odavamat püsivat salvestusvõimalust.
  • 🔍 Failide kontrollimine: `file_exists()` kinnitab enne faili lugemist või loomist, kas see on olemas, vältides vigu.
  • 📂 Failide avamine: fopen() avab faili režiimis nagu r, w või a, mis kontrollib lugemist, kirjutamist ja lisamist.
  • ✍️ Kirjutamine ja lõpetamine: fwrite() saadab andmed failikäepidemele ja fclose() vabastab käepideme, kui töö on tehtud.
  • ???? Failide lugemine: fgets() loeb korraga ühe rea, samas kui file_get_contents() tagastab kogu faili ühe stringina.
  • 🗂️ Kopeeri ja kustuta: copy() dubleerib faili uude asukohta ja unlink() kustutab faili serverist jäädavalt.
  • 🤖 Tehisintellekti abi: Tehisintellekti tööriistad suudavad genereerida failide parsimiskoodi ja lahendada lubade või voo avamise ebaõnnestumisega seotud vead kiiresti.

PHP failide töötlemine

Mis on fail?

Fail on lihtsalt ressurss teabe salvestamiseks arvutisse.

Faile kasutatakse tavaliselt teabe salvestamiseks, näiteks:

  • Programmi konfiguratsioonisätted
  • Lihtsad andmed, näiteks kontaktide nimed telefoninumbrite vastu.
  • Pildid, pildid, fotod ja sarnane meedia.

PHP failivormingute tugi

PHP-failifunktsioonid toetavad laia valikut failivorminguid, sealhulgas:

  • Fail.txt
  • File.log
  • File.custom_extension, st file.xyz
  • Fail.csv
  • File.gif, file.jpg ja sarnased pildivormingud

Failid on kasulikud mitmel juhul:

  • Need pakuvad lihtsate andmete püsivat ja kulutõhusat andmesalvestuslahendust, võrreldes andmebaasidega, mis vajavad andmebaasihaldussüsteemide haldamiseks muud tarkvara ja oskusi.
  • Soovite salvestada lihtsaid andmeid, näiteks serverilogisid, hilisemaks otsimiseks ja analüüsimiseks.
  • Sa tahad salvestada programmi seaded, st program.ini

PHP failifunktsioonid

PHP pakub mugavat viisi failidega töötamiseks tänu oma rikkalikule sisseehitatud funktsioonide kogule.

Operatingsüsteemid nagu Windows ja macOS ei ole tõstutundlikud, samas kui Linux or Unix operatsioonisüsteemid on tõstutundlikud.

Hea tava on failinimede puhul kasutada nimekonventsiooni, näiteks ainult väiketähti, mis tagab maksimaalse platvormidevahelise ühilduvuse.

Vaatleme nüüd mõningaid kõige sagedamini kasutatavaid PHP failifunktsioone.

PHP file_exists() Funktsioon

Seda funktsiooni kasutatakse faili olemasolu või mitteolemasolu määramiseks.

  • See on mugav, kui tahame enne faili töötlemist teada, kas see on olemas.
  • Seda funktsiooni saate kasutada ka uue faili loomisel ja soovite veenduda, et faili pole serveris juba olemas.

Funktsioonil file_exists on järgmine süntaks.

<?php
file_exists($filename);
?>

SIIN,

  • "file_exists()" on PHP funktsioon, mis tagastab tõene, kui fail on olemas, ja false, kui seda pole olemas.
  • „$failinimi” on kontrollitava faili tee ja nimi.

Allolev kood kasutab funktsiooni file_exists, et teha kindlaks, kas fail my_settings.txt on olemas.

<?php
if (file_exists('my_settings.txt'))
{
echo 'file found!';
}
else
{
echo 'my_settings.txt does not exist';
}
?>

Salvesta ülaltoodud kood faili nimega file_function.php. Eeldades, et salvestasid faili htdocs-i kausta phptuts, ava fail URL http://localhost/phptuts/file_function.php oma brauseris. Saate järgmised tulemused.

PHP file_exists() Funktsioon

PHP fopen() funktsioon

Funktsiooni fopen kasutatakse failide avamiseks. Sellel on järgmine süntaks.

<?php
fopen($file_name,$mode,$use_include_path,$context);
?>

SIIN,

  • "fopen" on PHP faili avamise funktsioon
  • "$ faili_nimi" on avatava faili nimi
  • „$mode” on režiim, milles faili avada. Allolev tabel näitab režiime.
viis Kirjeldus
r • Loe faili algusest peale.
• Tagastab väärtuse „väär”, kui faili pole olemas.
• Ainult lugemiseks
r+ • Lugege faili algusest peale
• Tagastab väärtuse „väär”, kui faili pole olemas.
• Lugege ja kirjutage
w • Kirjuta alguses faili
• Kärbi fail nullpikkuseni
• Kui faili pole olemas, proovige see luua.
• Ainult kirjuta
w+ • Kirjuta alguses faili, kärbi faili pikkuseks null
• Kui faili pole olemas, proovige see luua.
• Lugege ja kirjutage
a • Lisa faili lõppu
• Kui faili pole olemas, proovige see luua.
• Ainult kirjuta
a+ • Lisa faili lõppu
• Kui faili pole olemas, proovige see luua
• Lugege ja kirjutage
  • „$use_include_path” on valikuline, vaikimisi on see „väär”. Kui see on seatud väärtusele „tõene”, otsib funktsioon ka lisamisteekonnast.
  • „$context” on valikuline ja seda saab kasutada kontekstitoe määramiseks.

PHP fwrite() funktsioon

Failidesse kirjutamiseks kasutatakse funktsiooni fwrite.

Sellel on järgmine süntaks.

<?php
fwrite($handle, $string, $length);
?>

SIIN,

  • "fwrite" on PHP funktsioon failidesse kirjutamiseks
  • "$handle" on failikursori ressurss
  • „$string” on faili kirjutatavad andmed.
  • „$length” on valikuline ja seda saab kasutada faili maksimaalse pikkuse määramiseks.

PHP fclose() funktsioon

Funktsiooni fclose() kasutatakse PHP-s juba avatud faili sulgemiseks.

Sellel on järgmine süntaks.

<?php
fclose($handle);
?>

SIIN,

  • "fclose" on PHP funktsioon avatud faili sulgemiseks
  • "$handle" on failikursori ressurss.

Vaatame nüüd näidet, mis loob faili my_settings.txt. Kasutame funktsioone fopen, fwrite ja fclose.

Allpool olev kood "create_my_settings_file.php" rakendab ülaltoodud näidet.

Avage fail
<?php

$fh = fopen("my_settings.txt", 'w')

or

die("Failed to create file"); ?>
Faili sulgemine
<?php

fclose($fh);

?>
Loo fail
<?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"; ?>

Koodi testimine

avage URL http://localhost/phptuts/create_my_settings.php Teie brauser.

Saate järgmise lehe.

PHP fclose funktsioon

Märkus: kui teie ketas on täis või teil pole failide kirjutamise luba, kuvatakse tõrketeade.

Lülitu tagasi URL http://localhost/phptuts/file_function.phpMilliseid tulemusi te saate?

PHP fgets() funktsioon

Funktsiooni fgets kasutatakse PHP-failide rida-realt lugemiseks. Sellel on järgmine põhisüntaks.

<?php
fgets($handle);
?>

SIIN,

  • „fgets” on PHP funktsioon failiridade lugemiseks
  • "$handle" on failikursori ressurss.

Vaatame nüüd näidet, mis loeb faili my_settings.txt funktsioonide fopen ja fgets abil.

Allolev kood read_my_settings.php rakendab ülaltoodud näidet.

<?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);
?>

SIIN,

  • Funktsioon "fopen" tagastab kursori failiteel määratud failile
  • Vea ilmnemisel kutsutakse välja funktsioon „die()“. See kuvab teate ja väljub skripti täitmisest.

PHP copy() funktsioon

PHP kopeerimisfunktsiooni kasutatakse failide kopeerimiseks. Sellel on järgmine põhisüntaks.

<?php
copy($file,$copied_file);
?>

SIIN,

  • “$file” määrab kopeeritava faili tee ja nime.
  • „$copied_file” määrab kopeeritud faili tee ja nime.

Allolev kood illustreerib rakendamist.

<?php
copy('my_settings.txt', 'my_settings_backup.txt') or die("Could not copy file");
echo "File successfully copied to 2";
?>

Faili kustutamine

Faili kustutamiseks kasutatakse funktsiooni unlink. Allolev kood illustreerib selle rakendamist.

<?php
if (!unlink('my_settings_backup.txt'))
{
echo "Could not delete file";
}
else
{
echo "File 1 successfully deleted";
}
?>

PHP file_get_contents() Funktsioon

Funktsiooni file_get_contents kasutatakse kogu faili sisu lugemiseks.

file_get_contents ja fgets erinevus seisneb selles, et file_get_contents tagastab failiandmed stringina, samas kui fgets loeb faili rida-realt.

Allolev kood illustreerib rakendamist.

<?php
echo "<pre>"; // Enables display of line feeds
echo file_get_contents("my_settings.txt");
echo "</pre>"; // Terminates pre tag
?>

PHP failifunktsioonide kiirjuhend

Allolev tabel võtab kokku selles õpetuses käsitletud failifunktsioonid.

funktsioon Kirjeldus
file_exists Kasutatakse faili olemasolu või mitte olemasolu määramiseks
avatud Kasutatakse faili avamiseks. Tagastab kursori avatud failile
fwrite Kasutatakse failidesse kirjutamiseks
fclose Kasutatakse avatud faili sulgemiseks
fgets Kasutatakse faili ridade kaupa lugemiseks
koopia Kasutatakse olemasoleva faili kopeerimiseks
lahtiühendamine Kasutatakse olemasoleva faili kustutamiseks
failide_sisaldus Kasutatakse faili sisu tagastamiseks stringina

KKK

fgets loeb iga väljakutsega ühe rea, fread loeb avatud käepidemest kindlaksmääratud arvu baite ja file_get_contents loeb kogu faili stringiks ühe väljakutsega ilma fopen või fclose käske vajamata.

fwrite kirjutab avatud faili käepidemesse ja vajab selle ümber fopen ja fclose käske. file_put_contents avab, kirjutab ja sulgeb faili üheainsa käsuga, mistõttu on see lihtsate kirjutamisviiside jaoks lühem valik.

Kirjutamisõiguse kontrollimiseks enne kirjutamist kasutage funktsiooni is_writable('file.txt') ja faili olemasolu kinnitamiseks funktsiooni file_exists(). Unixi süsteemides saab funktsioon chmod() õigusi muuta, kui fail kuulub veebiserverile.

Jah. Kirjeldage vormingut, näiteks CSV, JSON või logipaigutus, ja tehisintellekt saab luua koodi, kasutades fgetcsv-d, json_decode'i või kohandatud tsüklit, lisaks veatöötlust puuduvate või valesti vormindatud failide korral. Testige reaalsete andmetega.

Jah. Jaga teed ja viga ning tehisintellekt suudab tuvastada vale suhtelise tee, puuduva faili või õiguste probleemi ning seejärel soovitada absoluutse tee kasutamist, faili loomist või õiguste muutmist.

Võta see postitus kokku järgmiselt: