2015-05-21 3 views
0

Так что я пытаюсь, чтобы мой php-скрипт добавлял текст в log.txt, log.txt помещается в src/log.txt и php-скрипт в web/script .php (у них есть другие имена, но хорошо ...) Так что я пробовал:Php запись строки в файл в ./src

$logfile1 = fopen('log.txt', 'a', [$use_include_path = TRUE]); 
$towrite = date('l jS \of F Y h:i:s A').': '.$var1.' did '.$var2.' and '.$var3.'\n'; 
fwrite($logfile1, $towrite); 

Wich не работает ... (я могу повторить $ towrite и получить правильный результат) Обратите внимание, что в верхняя часть файла

set_include_path("../src/" . PATH_SEPARATOR . get_include_path()); 

делается.

... Так я продолжал пытаться:

file_put_contents('log.txt', $towrite, FILE_APPEND | FILE_USE_INCLUDE_PATH); 

Вместо FWRITE ... Оно не работает, либо ... Даже пытаются поставить log.txt в сети/и с

file_put_contents('log.txt', $towrite, FILE_APPEND); 

Итак, теперь я обращаюсь к мастерам;) как написать эту строку в файл src/log.txt из web/script.php?

Файл дерева:

| - web 
| | - script.php 
| - src 
| | - log.php 
+0

Вы пытались передать полный путь к 'log.txt' при использовании' file_put_contents'? например 'file_put_contents (__ DIR__. '/../src/log.txt', $ towrite, FILE_APPEND);' – Ankh

ответ

0

Вы можете действительно использовать абсолютные пути здесь.

Произнесите структура файла выглядит примерно так:

|- src 
| |- log.txt 
|-source 
    |- code.php 

Тогда мы бы выполнить следующий код, чтобы идти в одну реж вверх, игнорируя include_dir настройки в данный момент.

<?php 
$log = dirname(__FILE__) . "/../src/log.txt"; 

$date = date('l jS \of F Y h:i:s A'); 
$write = "{$date}: {$var1} did {$var2} and {$var3}\n"; 

file_put_contents($log, $write, FILE_APPEND); 
+0

Нет, это тоже не сработает ... К сожалению. – Svante

+0

У вас есть права на запись в каталог и существует ли целевой каталог ('src')? Вы можете использовать 'is_writeable', чтобы проверить, может ли файл быть создан. Вы также можете проверить, существует ли ограничение 'open_basedir', которое может блокировать доступ к файлу. – Roelof

+0

По-видимому, это невозможно записать ... Так что мне нужно chmod? К чему? – Svante