我想尝试创建以日期和当前时间为标题的目录。我知道我可以使用php time()函数,但这对我来说很难阅读。为什么我不能创建一个名为06-11-2014 11:37:04之类的目录?当我尝试使用此格式时,php mkdir函数给了我一个无效的参数。
php代码<?php
$newdate = date("m-d-Y H:i:s");
mkdir($newdate, 0755, true);
?>
日期中的冒号把它弄乱了。最好使用如下格式:
$newdate = date("m-d-Y H_i_s");
你有这个:
mkdir($newdate, 077, true);
但应该是:
mkdir($newdate, 0777, true);
但也就是说,777
权限存在安全风险。您最好使用775
或755
代替:
mkdir($newdate, 0755, true);
777
权限的问题是它意味着100%有权访问您的系统的任何人都可以在该目录中读取,写入或执行任何内容。这只是打开了一扇门,如果你被黑了,你就会头疼,或者甚至是无意中头疼,比如你自己输错了路径&删除不该删除的数据
文件,目录权限不应该仅仅通过777
向世界上的任何人开放。
EDIT:原始海报说他们仍然遇到问题,即使有正确的权限。我唯一的建议是这样修改代码:
$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.此外,我在日期和时间之间放置了一个下划线(_
)。