我想尝试创建标题为日期和当前时间的目录。我知道我可以使用php time()函数,但这对我来说很难阅读。为什么我不能创建名为06-11-2014 11:37:04左右的目录?当我尝试使用这种格式时,php mkdir函数给了我一个无效的参数。
php code
<?php
$newdate = date("m-d-Y H:i:s");
mkdir($newdate, 0755, true);
?>
答案 0 :(得分:8)
日期中的冒号搞砸了。你最好的选择是使用这样的格式:
$newdate = date("m-d-Y H_i_s");
答案 1 :(得分:3)
你有这个:
mkdir($newdate, 077, true);
但它应该是:
mkdir($newdate, 0777, true);
但是说777
权限是一种安全风险。您最好使用775
或755
代替:
mkdir($newdate, 0755, true);
777
权限的问题是,这意味着有权访问您系统的任何人都可以在该目录中读取,写入或执行任何内容。如果你被黑客攻击或甚至无意中的头痛,就像你自己在错误的路径和消除你不应该消灭的数据。
文件&amp;目录权限不应仅仅通过777
向世界上任何人开放。
编辑:原始海报表示即使更正了权限,他们仍然会遇到问题。我唯一的建议是改变代码:
$newdate = date("m-d-Y H:i:s");
mkdir($newdate, 0777, true);
对此:
$newdate = date("m-d-Y_H-i-s");
mkdir($newdate, 0755, true);
我认为问题在于,其中包含:
的文件或目录名称只会阻塞某些系统,例如Mac OS X.此外,我在日期和时间之间放置了一个下划线(_
)