it-swarm.com.de

Machen Sie einen Pfad sowohl unter Linux als auch unter Windows

Wie kann ich sicherstellen, dass dieser Pfad

new Zend_Log_Writer_Stream(APPLICATION_PATH . '\logs\app.log')  

funktioniert sowohl unter Linux als auch unter Windows?

30
sanders

In Linux ist das Pfadtrennzeichen /. In Windows ist es entweder \ oder /. Verwenden Sie also nur Schrägstriche und Sie werden in Ordnung sein.

APPLICATION_PATH . '/logs/app.log'
60
Ben Lee

Sie können auch DIRECTORY_SEPARATOR constant anstelle von \ oder /..__ verwenden. Normalerweise möchten Sie es neu definieren, um einen kürzeren Namen zu erhalten

define('DS', DIRECTORY_SEPARATOR);
$filename = APP . DS . 'logs' . DS . 'file.txt';
32
Qwerty

wenn Sie zwei oder mehr Apps Ihrer Website kommunizieren möchten, wird Ihnen dieser Trick viel bringen

$ Document_root = realpath ( \ filter_input ( INPUT_SERVER , ' DOCUMENT_ROOT '));

dies ist zum Konvertieren der Route, auf der Sie den realen Pfad zurücklegen, und müssen Sie dann mit DIRECTORY_SEPARATOR zwischen den Verzeichnissen navigieren, ohne sich um das auf Ihrem Computer oder Webserver installierte Betriebssystem zu kümmern

0
Edwin Irausquin

Nur Realpath () scheint genug zu sein

Beispiel # 2

0
user2928048