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