Gegebenenfalls ist es in einem PHP-Code, der in eine Datei schreibt, wichtig zuerst zu überprüfen, ob die Datei überhaupt beschrieben werden kann oder nicht. Beispielsweise kann eine Datei mangels nötigen Rechten der ausführenden PHP-Datei nicht beschrieben werden. Für den Anwender treten danach unschöne PHP-Exceptions auf, welche man besser schon im Code abfängt.
Für dieses Problem gibt es die Funktion is_writeable(), welche als Parameter einen Dateipfad in Form einer Zeichenkette (String) entgegennimmt. Die Funktion gibt entweder true (Datei kann editiert werden) oder false (Datei kann nicht editiert werden) zurück.
Beispiel:
<?php
/*
* Created on 13.08.2010 by Nico Schubert
*/
$datei='./csv_datei.csv';
$is_writeable=is_writeable($datei);
if($is_writeable==true){
echo 'Die Datei:'.$datei.' ist beschreibbar!';
/**
* Datei ändern ...
*/
} else {
echo 'Die Datei:'.$datei.' ist nicht beschreibbar!';
/**
* Rechte ändern der Datei oder so ...
*/
}
?>
Ausgabe:
Wenn Datei beschrieben werden kann: Die Datei: "Pfad_zur_Datei" ist beschreibbar!
Wenn Datei nicht beschrieben werden kann: Die Datei: "Pfad_zur_Datei" ist nicht beschreibbar!
Erklärung:
Im obigen Beispiel werden zwei Variablen angelegt. Zum einen eine Variable mit dem Pfad zur Datei und zum Anderen eine boolean-Variable welche den Rückgabewert der Funktion is_writeable() speichert. Als erstes wird der Variable $datei ein Pfad zu einer Datei auf dem Webserver angegeben. Im zweiten Befehl wird die Funktion is_writeable() aufgerufen. Als Parameter wird der Dateipfad, welcher in der Variable $datei gespeichert wurde mit angegeben. Der Rückgabewert wird in der Variable gespeichert.
Danach wird mit einem simplen if-Statement überprüft, ob die Funktion true oder false zurückgegeben hat und dazu ein kleiner Text ausgegeben.