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.