PHP-tiedoston () käsittely ja toiminnot

⚡ Älykäs yhteenveto

PHP:n tiedostojen käsittely käyttää runsasta joukkoa sisäänrakennettuja funktioita tiedostojen luomiseen, lukemiseen, kirjoittamiseen, kopioimiseen ja poistamiseen palvelimella. Tämä läpikäynti käsittelee file_exists-, fopen- ja sen tilat, fwrite-, fclose-, fgets-, copy-, unlink- ja file_get_contents-funktioita käytännön esimerkkien avulla.

  • 📄 Mitä tiedostoja tallennetaan: Tiedostoissa on määritysasetuksia, lokeja ja yksinkertaista dataa, mikä tarjoaa edullisen pysyvän tallennusvaihtoehdon verrattuna tietokantaan.
  • 🔍 Tiedostojen tarkistaminen: file_exists() varmistaa, onko tiedosto olemassa ennen kuin luet sitä tai luot sen, välttäen virheitä.
  • 📂 Tiedostojen avaaminen: fopen() avaa tiedoston tilassa, kuten r, w tai a, joka hallitsee lukemista, kirjoittamista ja liittämistä.
  • 🇧🇷 Kirjoittaminen ja lopettaminen: fwrite() lähettää tiedot tiedostokahvaan ja fclose() vapauttaa kahvan, kun työ on tehty.
  • ???? Tiedostojen lukeminen: fgets() lukee yhden rivin kerrallaan, kun taas file_get_contents() palauttaa koko tiedoston yhtenä merkkijonona.
  • 🗂️ Kopioi ja poista: copy() kopioi tiedoston uuteen polkuun ja unlink() poistaa tiedoston pysyvästi palvelimelta.
  • 🤖 AI Assist: Tekoälytyökalut voivat luoda tiedostojen jäsennyskoodia ja ratkaista käyttöoikeus- tai avausvirheet nopeasti.

PHP-tiedostojen käsittely

Mikä on tiedosto?

Tiedosto on yksinkertaisesti resurssi tietojen tallentamiseen tietokoneelle.

Tiedostoja käytetään yleensä tallentamaan tietoja, kuten:

  • Ohjelman konfigurointiasetukset
  • Yksinkertaisia ​​tietoja, kuten yhteystietojen nimiä puhelinnumeroita vasten.
  • Kuvat, kuvat, valokuvat ja vastaava media.

PHP-tiedostomuotojen tuki

PHP-tiedostotoiminnot tukevat monenlaisia ​​tiedostomuotoja, jotka sisältävät:

  • Tiedosto.txt
  • File.log
  • Tiedosto.mukautettu_laajennus, eli tiedosto.xyz
  • Tiedosto.csv
  • File.gif, file.jpg ja vastaavat kuvamuodot

Tiedostoista on hyötyä useissa tilanteissa:

  • Ne tarjoavat pysyvän ja kustannustehokkaan tiedontallennusratkaisun yksinkertaiselle datalle verrattuna tietokantoihin, jotka vaativat muita ohjelmistoja ja taitoja tietokannan hallintajärjestelmien hallintaan.
  • Haluat tallentaa yksinkertaisia ​​tietoja, kuten palvelinlokeja, myöhempää hakua ja analysointia varten.
  • Haluat tallentaa ohjelman asetukset, eli program.ini

PHP-tiedostofunktiot

PHP tarjoaa kätevän tavan työskennellä tiedostojen kanssa runsaan sisäänrakennettujen funktioidensa kokoelman avulla.

Operatusjärjestelmät, kuten Windows ja macOS eivät ole kirjainkokoherkkiä, kun taas Linux or unix käyttöjärjestelmät ovat isoja ja pieniä kirjaimia herkkiä.

Tiedostojen nimeämisessä käytetään esimerkiksi pieniä kirjaimia, mikä varmistaa maksimaalisen yhteensopivuuden eri alustojen välillä.

Katsotaanpa nyt joitakin yleisimmin käytettyjä PHP-tiedostofunktioita.

PHP file_exists() -funktio

Tätä toimintoa käytetään määrittämään, onko tiedosto olemassa vai ei.

  • Se on kätevä, kun haluamme tietää, onko tiedosto olemassa ennen sen käsittelyä.
  • Voit käyttää tätä toimintoa myös luodessasi uutta tiedostoa ja haluat varmistaa, ettei tiedostoa ole jo palvelimella.

file_exists-funktiolla on seuraava syntaksi.

<?php
file_exists($filename);
?>

TÄSSÄ,

  • "file_exists()" on PHP-funktio, joka palauttaa tosi, jos tiedosto on olemassa ja false, jos sitä ei ole.
  • ”$filename” on tarkistettavan tiedoston polku ja nimi

Alla oleva koodi käyttää file_exists-funktiota selvittääkseen, onko tiedostoa my_settings.txt olemassa.

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

Tallenna yllä oleva koodi tiedostoon nimeltä file_function.php. Olettaen, että tallensit tiedoston phptuts-kansioon htdocsissa, avaa URL http://localhost/phptuts/file_function.php selaimessasi. Saat seuraavat tulokset.

PHP file_exists() -funktio

PHP fopen() -funktio

Fopen-funktiota käytetään tiedostojen avaamiseen. Sen syntaksi on seuraava.

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

TÄSSÄ,

  • "fopen" on PHP:n avoimen tiedoston toiminto
  • "$tiedoston_nimi" on avattavan tiedoston nimi
  • ”$mode” on tila, jossa tiedosto tulisi avata. Alla oleva taulukko näyttää tilat.
tila Tuotetiedot
r • Lue tiedosto alusta.
• Palauttaa arvon false, jos tiedostoa ei ole olemassa.
• Lue ainoastaan
r+ • Lue tiedosto alusta
• Palauttaa arvon false, jos tiedostoa ei ole olemassa.
• Lue ja kirjoita
w • Kirjoita tiedostoon alussa
• Lyhennä tiedosto nollaan
• Jos tiedostoa ei ole olemassa, yritä luoda se.
• Vain kirjoittaa
w+ • Kirjoita tiedostoon alussa, katkaise tiedosto nollaan
• Jos tiedostoa ei ole olemassa, yritä luoda se.
• Lue ja kirjoita
a • Liitä tiedoston loppuun
• Jos tiedostoa ei ole olemassa, yritä luoda se.
• Vain kirjoittaa
a+ • Liitä tiedoston loppuun
• Jos tiedostoa ei ole olemassa, yritä luoda se
• Lue ja kirjoita
  • ”$use_include_path” on valinnainen, oletusarvo on false. Jos arvoksi asetetaan true, funktio etsii myös include-polusta.
  • ”$context” on valinnainen ja sitä voidaan käyttää kontekstituen määrittämiseen.

PHP fwrite() -funktio

Fwrite-funktiota käytetään tiedostoihin kirjoittamiseen.

Sillä on seuraava syntaksi.

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

TÄSSÄ,

  • "fwrite" on PHP-toiminto tiedostoihin kirjoittamista varten
  • "$handle" on tiedostoosoitinresurssi
  • ”$string” on tiedostoon kirjoitettava data.
  • ”$length” on valinnainen ja sitä voidaan käyttää tiedoston enimmäispituuden määrittämiseen.

PHP fclose() -funktio

Funktiota fclose() käytetään PHP:ssä jo avoinna olevan tiedoston sulkemiseen.

Sillä on seuraava syntaksi.

<?php
fclose($handle);
?>

TÄSSÄ,

  • "fclose" on PHP-toiminto avoimen tiedoston sulkemiseen
  • "$handle" on tiedostoosoitinresurssi.

Katsotaanpa nyt esimerkkiä, joka luo tiedoston my_settings.txt. Käytämme funktioita fopen, fwrite ja fclose.

Alla oleva koodi "create_my_settings_file.php" toteuttaa yllä olevan esimerkin.

Avaa tiedosto
<?php

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

or

die("Failed to create file"); ?>
Tiedoston sulkeminen
<?php

fclose($fh);

?>
Luo tiedosto
<?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"; ?>

Koodin testaus

Avaa URL http://localhost/phptuts/create_my_settings.php selaimessasi.

Saat seuraavan sivun.

PHP fclose -toiminto

Huomautus: jos levy on täynnä tai sinulla ei ole oikeutta kirjoittaa tiedostoja, saat virheilmoituksen.

Vaihda takaisin URL http://localhost/phptuts/file_function.phpMitä tuloksia saat?

PHP fgets() -funktio

Fgets-funktiota käytetään PHP-tiedostojen lukemiseen rivi riviltä. Sen perussyntaksi on seuraava.

<?php
fgets($handle);
?>

TÄSSÄ,

  • ”fgets” on PHP-funktio tiedostorivien lukemiseen
  • "$handle" on tiedostoosoitinresurssi.

Katsotaanpa nyt esimerkkiä, joka lukee my_settings.txt-tiedoston fopen- ja fgets-funktioiden avulla.

Alla oleva koodi read_my_settings.php toteuttaa yllä olevan esimerkin.

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

TÄSSÄ,

  • "fopen"-funktio palauttaa osoittimen tiedostopolussa määritettyyn tiedostoon
  • Funktiota ”die()” kutsutaan, jos tapahtuu virhe. Se näyttää viestin ja lopettaa skriptin suorituksen.

PHP copy()-funktio

PHP:n kopiointifunktiota käytetään tiedostojen kopioimiseen. Sen perussyntaksi on seuraava.

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

TÄSSÄ,

  • "$file" määrittää kopioitavan tiedoston polun ja nimen.
  • ”$copied_file” määrittää kopioidun tiedoston polun ja nimen

Alla oleva koodi havainnollistaa toteutusta.

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

Tiedoston poistaminen

Unlink-funktiota käytetään tiedoston poistamiseen. Alla oleva koodi havainnollistaa toteutusta.

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

PHP file_get_contents() Funktio

File_get_contents-funktiota käytetään koko tiedoston sisällön lukemiseen.

file_get_contents- ja fgets-funktioiden ero on se, että file_get_contents palauttaa tiedostotiedot merkkijonona, kun taas fgets lukee tiedoston rivi riviltä.

Alla oleva koodi havainnollistaa toteutusta.

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

PHP-tiedostofunktioiden pikaopas

Alla oleva taulukko yhteenvetää tässä opetusohjelmassa käsitellyt tiedostofunktiot.

Toiminto Tuotetiedot
file_exists Käytetään määrittämään, onko tiedosto olemassa vai ei
avata Käytetään tiedoston avaamiseen. Palauttaa osoittimen avattuun tiedostoon
fwrite Käytetään tiedostoihin kirjoittamiseen
fclose Käytetään avoimen tiedoston sulkemiseen
fgets Käytetään tiedoston lukemiseen rivi riviltä
kopio Käytetään olemassa olevan tiedoston kopioimiseen
linkitys Käytetään olemassa olevan tiedoston poistamiseen
file_get_contents Käytetään palauttamaan tiedoston sisältö merkkijonona

UKK

fgets lukee yhden rivin kutsua kohden, fread lukee tietyn määrän tavuja open-kahvasta ja file_get_contents lukee koko tiedoston merkkijonoksi yhdellä kutsulla ilman fopen- tai fclose-käskyjä.

fwrite kirjoittaa avoimen tiedoston kahvaan ja tarvitsee fopen- ja fclose-metodit sen ympärille. file_put_contents avaa, kirjoittaa ja sulkee tiedoston yhdellä kutsulla, joten se on lyhyempi vaihtoehto yksinkertaisiin kirjoituksiin.

Käytä is_writable('file.txt')-funktiota testataksesi kirjoitusoikeudet ennen kirjoittamista ja file_exists()-funktiota varmistaaksesi tiedoston olemassaolon. Unix-järjestelmissä chmod() voi muuttaa oikeuksia, jos web-palvelin omistaa tiedoston.

Kyllä. Kuvaile muoto, kuten CSV, JSON tai lokitiedostojen asettelu, niin tekoäly voi tuottaa koodia käyttämällä fgetcsv:tä, json_decode:a tai mukautettua silmukkaa. Lisäksi se käsittelee puuttuvien tai väärin muotoiltujen tiedostojen virheet. Testaa oikeilla tiedoilla.

Kyllä. Jaa polku ja virhe, niin tekoäly voi tunnistaa väärän suhteellisen polun, puuttuvan tiedoston tai käyttöoikeusongelman ja ehdottaa sitten absoluuttisen polun käyttöä, tiedoston luomista tai käyttöoikeuksien muuttamista.

Tiivistä tämä viesti seuraavasti: