2015-05-21 19 views
0

所以我试图让我的PHP脚本添加一个文本log.txt的,log.txt中被放置在SRC/log.txt文件和网页/脚本PHP脚本.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); 

至极没有工作......(我可以回声$ 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); 

所以现在我转向主人;)我怎么写字符串从网页/ script.php的文件src/log.txt的?

文件树:

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

您是否尝试过在使用'file_put_contents'时传递'log.txt'的完整路径?例如'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

显然,这是不可写...所以我需要属性呢?什么? – Svante