Also du brauchst den Inhalt einer Datei. Um Zugriff auf eine Datei zu bekommen brauchst du einen Datei Handler. Diesen brauchst du wiederum um dem Betriebsystem zu sagen dass die Datei gerade in Bearbeitung ist. Es wäre fatal, wenn du die Datei gerade lesen möchtest und ein anderer löscht sie dir einfach unter dem Hinter weg. Wobei dieser Punkt spielt bei PHP eigentlich keine Rolle, soll aber verdeutlichen, dass so ein Handler eine Daseins Berechtigung hat.
Diesen Handler brauchst du auch um die Datei eindeutig zu kennzeichnen. Dann holst du mittel fgets die Zeilen aus der Datei. Dafür brauchst du eine Schleife, die jede Zeile durchgeht und dir in Variablen oder ein Array schmeißt. Wenn du fertig bist schließt du alles wieder mit fclose.
Um etwas aus einer Datei zu lesen brauchst du alle obigen Schritte. Deswegen geht ein guter Entwickler her und baut sich dafür eine Funktion. Naja so wars in der Vergangenheit, denn die Entwickler von PHP sind ja nicht doof und arbeiten (anders als viele Spiele Hersteller) mit der Community zusammen. Deshalb waren sie so freundlich und haben diese Funktionen in einer Funktion gekapselt. Die Funktion "file" macht also nichts anders als das oben beschriebene. Davon bekommst du als Aufrufer aber nichts mit. Du bekommst nur ein Array (oder eben einen String bei file_get_contents()).
Der Inhalt der Datei ist dann in deiner Variable und die Datei ist wieder geschlossen als ob nicht passiert wäre. Dann kannst du den Inhalt den du eben bekommen hast bearbeiten. Wenn du fertig bist möchtest du das ganze eventuell wieder in eine Datei speichern. Und auch hier gibt es immer den gleichen Vorgang - Datei aufmachen, Zeilenweise in Datei schreiben Datei zumachen. Und auch hier haben sich die Entwickler entschlossen das ganze praktischerweise in eine Funktion zu packen. Deshalb gibt es file_put_contents().
file_put_contents("Gruß T-Rex");