PHP-tiedoston () käsittely ja toiminnot

Mikä on tiedosto?

Tiedosto on yksinkertaisesti resurssi tietojen tallentamiseen tietokoneelle.

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

  • Ohjelman konfigurointiasetukset
  • Yksinkertaiset tiedot, kuten yhteyshenkilöiden nimet puhelinnumeroita vastaan.
  • Kuvia, kuvia, valokuvia jne.

PHP-tiedostomuotojen tuki

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

  • Tiedosto.txt
  • File.log
  • File.custom_extension eli tiedosto.xyz
  • Tiedosto.csv
  • Tiedosto.gif, tiedosto.jpg jne
  • Tiedostot tarjoavat pysyvän kustannustehokkaan tiedontallennusratkaisun yksinkertaisille tiedoille verrattuna tietokantoihin, jotka vaativat muita ohjelmistoja ja taitoja DBMS-järjestelmien hallintaan.
  • Haluat tallentaa yksinkertaisia ​​tietoja, kuten palvelinlokeja myöhempää hakua ja analysointia varten
  • Haluat tallentaa ohjelma-asetukset eli program.ini

PHP-tiedosto()-funktio

PHP tarjoaa kätevän tavan käsitellä tiedostoja runsaan sisäänrakennettujen toimintojensa ansiosta.

Operatusjärjestelmät, kuten Windows ja MAC OS eivät erota kirjainkokoa Linux or unix käyttöjärjestelmät ovat isoja ja pieniä kirjaimia herkkiä.

Nimeämismuunnoksen, kuten pienten kirjainten, käyttäminen vain tiedostojen nimeämiseen on hyvä käytäntö, joka varmistaa parhaan mahdollisen yhteensopivuuden eri alustojen välillä.

Tarkastellaan nyt joitain yleisimmin käytettyjä PHP-tiedostotoimintoja.

PHP file_exists() -funktio

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

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

File_exist-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.
  • "$tiedoston_nimi" on tarkistettavan tiedoston polku ja nimi

Alla oleva koodi käyttää file_exists-funktiota määrittääkseen, onko tiedosto 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 file_function.php Jos olet tallentanut tiedoston phptuts-kansioon htdocsissa, avaa URL-osoite http://localhost/phptuts/file_function.php selaimessasi Saat seuraavat tulokset.

PHP file_exists() -funktio

PHP fopen() -funktio

Fopen-toimintoa käytetään tiedostojen avaamiseen. Sillä on seuraava syntaksi

<?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 tulee avata, alla olevasta taulukosta näet tilat
tila Tuotetiedot
r • Lue tiedosto alusta.
• Palauttaa epätosi, jos tiedostoa ei ole olemassa.
• Lue ainoastaan
r+ • Lue tiedosto alusta
• Palauttaa epätosi, jos tiedostoa ei ole olemassa.
• Lue ja kirjoita
w • Kirjoita tiedostoon alussa
• katkaise 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+ • Php liitä tiedoston loppuun
• Jos tiedostoa ei ole olemassa, yritä luoda se
• Lue ja kirjoita
  • "$use_include_path" on valinnainen, oletusarvo on epätosi, jos se on tosi, funktio etsii myös sisällytyspolusta.
  • "$context" on valinnainen, sitä voidaan käyttää kontekstituen määrittämiseen.

PHP fwrite() -funktio

Fwrite-toimintoa käytetään tiedostojen 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 kirjoitettavat tiedot.
  • "$length" on valinnainen, sitä voidaan käyttää määrittämään tiedoston enimmäispituus.

PHP fclose() -funktio

Fclose()-funktiota käytetään php:n tiedoston sulkemiseen, joka on jo auki

Sillä on seuraava syntaksi.

<?php
fclose($handle); 
?>

TÄSSÄ,

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

Katsotaanpa nyt esimerkkiä, joka luo tiedostoni my_settings.txt.

Käytämme seuraavia toimintoja.

  • Fopen
  • Fwrite
  • 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 'my_settings.txt' written successfully"; ?>    

Koodin testaus

Avaa URL-osoite 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-osoitteeseen http://localhost/phptuts/file_function.php .

Mitä tuloksia saat?

PHP fgets() -funktio

Fgets-funktiota käytetään php-tiedostojen lukemiseen rivi riviltä. Siinä on seuraava perussyntaksi. fgets($kahva); TÄSSÄ,

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

Katsotaanpa nyt esimerkkiä, joka lukee my_settings.txt-tiedoston käyttämällä fopen- ja fgets-funktioita.

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
  • "die()"-funktiota kutsutaan, jos tapahtuu virhe. Se näyttää viestin ja komentosarjan suorittamisen

PHP copy()-funktio

PHP-kopiointitoimintoa käytetään tiedostojen kopioimiseen. Siinä on seuraava perussyntaksi. kopioi ($tiedosto,$kopioitu_tiedosto); TÄSSÄ,

  • "$file" määrittää kopioitavan tiedoston polun ja nimen.
  • "copied_file" määritti 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 'my_settings_backup.txt'"; 
?>

Tiedoston poistaminen

Linkin poistotoimintoa 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 'my_settings_backup.txt' successfully deleted"; 
}
 ?>

PHP file_get_contents() Funktio

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

Alla oleva koodi havainnollistaa toteutusta.

Ero file_get_contents ja fgets välillä on, että file_get_contents palauttaa tiedoston tiedot merkkijonona, kun taas fgets lukee tiedoston rivi riviltä.

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

Yhteenveto

  • Tiedosto on resurssi tietojen tallentamiseen
  • PHP on rikas kokoelma sisäänrakennettuja toimintoja, jotka yksinkertaistavat tiedostojen käsittelyä.
  • Yleisiä tiedostotoimintoja ovat fopen, fclose, file_get_contents
  • Alla olevassa taulukossa on yhteenveto käsitellyistä toiminnoista
Toiminto Tuotetiedot
Tiedosto_olemassa 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 suljettujen tiedostojen avaamiseen
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