让fopen / fwrite写入不同的目录

时间:2012-07-26 22:44:10

标签: php file directory fopen

我需要编写文本文件,我尝试使用此代码

public function ResultsTrackingLogs( $event, $message ) {
$logsDir = dirname( __FILE__ ) . "/logs/Results Tracking/$event/";
$fh = fopen( $logsDir . "$event.txt", 'x' ) or die( "can't open file" );
fwrite( $fh, $message );
fclose( $fh );
}

$logsDir转换为E:\Dropbox\htdocs\Scrapers\this超出\$event\的范围,因此每个事件都有自己的子文件夹。

无论如何我调整了.. I.E /logs/Results Tracking/ ..或\logs\Results Tracking\..

仍然给我一个错误fopen(E:\Dropbox\htdocs\Scrapers\this\logs/Results Tracking/event1/event1.txt): failed to open stream: No such file or directory.

目录在那里,我也在那里创建了一个.txt文件,找不到它。问题显然在于我如何描述我的目录结构。我该如何解决?我之前不想创建目录结构,我需要它来根据需要创建文件夹。

1 个答案:

答案 0 :(得分:1)

检查目标目录是否存在,如果没有则创建。

   if(! is_dir($logsDir) ) { mkdir($logsDir, 0777, true); }

如果要描述路径,可以使用DIRECTORY_SEPARATOR