【问题标题】:file_put_contents - ISO 8601 date in filename returns failed to open stream: No such file or directoryfile_put_contents - 文件名中的 ISO 8601 日期返回未能打开流:没有这样的文件或目录
【发布时间】:2019-06-16 16:27:09
【问题描述】:

我正在尝试使用file_put_contents 方法将错误记录到文件中。

我已经尝试了以下代码并且它有效:

file_put_contents(date("j-n-Y G:i").'.log', $log, FILE_APPEND);

但我想以 ISO 8601 日期格式命名一个文件,如下所示:

file_put_contents(date("c").'.log', $log, FILE_APPEND);

但它返回以下错误:

failed to open stream: No such file or directory

【问题讨论】:

  • 在 windows 的文件名中不能有 :

标签: php file logging


【解决方案1】:

如果您在文件名中使用特殊字符,就会发生这种情况。 date("c") 打印,例如:2004-02-12T15:19:21+00:00。在您的情况下,建议您使用替代方法(这对我有用):

file_put_contents(date("j-n-Y").'.log', $log, FILE_APPEND);

理想的情况是您根本不使用特殊字符。

【讨论】:

  • 是的,这将是文件命名的最佳方式。谢谢。
猜你喜欢
  • 2019-06-03
  • 2013-01-24
  • 2018-12-01
  • 2014-09-05
  • 2015-11-14
  • 2017-07-06
  • 2020-01-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多