PHP:
Tekstitiedoston kirjoittaminen
Kuinka:
PHP tukee natiivisti tiedostonkirjoitusta funktioilla kuten file_put_contents
, fopen
yhdessä fwrite
:n kanssa, ja fclose
. Näin niitä käytetään:
Yksinkertainen kirjoittaminen file_put_contents
-funktiolla:
Tämä funktio yksinkertaistaa tiedostoon kirjoittamisen prosessia tekemällä kaiken yhdellä askeleella.
$content = "Hei maailma!";
file_put_contents("hello.txt", $content);
// Tarkistaa, onko tiedosto kirjoitettu onnistuneesti
if (file_exists("hello.txt")) {
echo "Tiedosto luotu onnistuneesti!";
} else {
echo "Tiedoston luonti epäonnistui.";
}
Edistynyt kirjoittaminen fopen
, fwrite
ja fclose
-funktioilla:
Enemmän kontrollia tiedostonkirjoituksessa haluttaessa, kuten tekstin lisääminen tai tarkempi virheenkäsittely, käytä fopen
funktiota fwrite
:n kanssa.
$file = fopen("hello.txt", "a"); // 'a' tila lisää varten, 'w' kirjoittaa varten
if ($file) {
fwrite($file, "\nLisää sisältöä.");
fclose($file);
echo "Sisältö lisätty onnistuneesti!";
} else {
echo "Tiedoston avaaminen epäonnistui.";
}
Tiedoston lukeminen tulostusta varten:
Vahvistetaan sisältömme:
echo file_get_contents("hello.txt");
Esimerkkituloste:
Hei maailma!
Lisää sisältöä.
Ulkopuolisten kirjastojen käyttö:
Monimutkaisemmissa tiedosto-operaatioissa voidaan käyttää kirjastoja, kuten League\Flysystem
, abstraktiotasona tiedostojärjestelmän päällä, mutta PHP:n sisäänrakennetut funktiot ovat usein riittäviä perustason tiedostonkirjoitustehtäviin. Tässä lyhyt esimerkki, jos haluat tutkia Flysystem
:ia:
require 'vendor/autoload.php';
use League\Flysystem\Filesystem;
use League\Flysystem\Local\LocalFilesystemAdapter;
$adapter = new LocalFilesystemAdapter(__DIR__);
$filesystem = new Filesystem($adapter);
$filesystem->write('hello.txt', "Käyttäen Flysystemia tämän kirjoittamiseen.");
Tämä esimerkki olettaa, että olet asentanut league/flysystem
Composerin kautta. Ulkopuoliset kirjastot voivat suuresti yksinkertaistaa monimutkaisempaa tiedostonkäsittelyä, erityisesti työskenneltäessä saumattomasti erilaisten tallennusjärjestelmien kanssa.