0

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

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\每个事件都有自己的子文件夹。

无论如何我调整.. IE /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 文件,但没有找到它。问题显然在于我如何描述我的目录结构。我该如何解决?我之前不想创建目录结构,我需要它来创建需要的文件夹。

4

1 回答 1

1

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

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

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

于 2012-07-26T22:52:48.343 回答