我需要编写文本文件,我尝试使用此代码
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'
,因此每个事件都有自己的子文件夹。
反正我调整.. 即/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文件,没有找到它。 问题显然在于我如何描述我的目录结构。 我该如何解决这个问题?我不想以前创建目录结构,我需要它根据需要创建文件夹。
检查目标目录是否存在,如果不存在,请创建它。
if(! is_dir($logsDir) ) { mkdir($logsDir, 0777, true); }
如果要描述路径,可以使用DIRECTORY_SEPARATOR
。