如何删除指定目录下的所有子目录?
目录是c:/files/
我想删除其内的所有子目录(示例):
c:/files/something/something/something/
c:/files/another-something/
Run Code Online (Sandbox Code Playgroud)
所以最终 c:/files/ 仍然存在(为空且没有子目录)。
rmdir()只删除给定路径中的最后一个目录...所以我猜我必须循环?:/
感谢所有帮助。
(PS:子目录不包含任何文件)
file_exists()并且file_get_contents()在一个名为output‹ÕÍÕ¥.txt(例如)的文件上失败,虽然我知道它存在?
我猜它与文件名中的特殊字符有关?
所以想知道什么是解决方法?
感谢所有回复.
供参考:
请注意,如果您的想法为什么不简单地更改文件名? - 我不能,因为文件名一般是生成的,更改文件名将意味着使用PHP的文件函数(似乎不允许文件名args中的特殊字符 - 除非我误解/误解了任何东西).
我在Windows上使用PHP 5.2.
我有以下MySQL查询,我正在使用PHP(5.2).
DELETE t1.*, t3.* FROM
forum_posts AS t1,
forum_topics AS t2,
user_points AS t3
WHERE t1.topic_id = t2.topic_id
AND t2.deleted = 1
AND t1.post_id = t3.id
AND t3.type = 'post'
AND t1.post_author = t3.profile_author
Run Code Online (Sandbox Code Playgroud)
然而,它也没有发挥作用,我也打算这样做(没有任何反应!),让我解释一下:
我想要查询的是删除forum_posts表中的所有行和/或(我说"和/或"因为它将依赖于行甚至存在)删除user_points表中的所有行=> [如果创建帖子的主题已被删除(为了避免混淆,您的信息实际上只是"隐藏",我们通过检查它是否等于确定1)].
我希望查询结构自我解释,topic_id主要用于JOIN表格.
查询运行正常(没有给出MySQL或PHP错误,所以我假设语法没问题?),我已经检查了DB和theres主题,这些主题被删除(deleted列被设置为1)以及它们的帖子是否存在以及对于那些主题(所以不存在没有数据的情况).
感谢所有回复.
我需要一些帮助,我有一个如下所示的字符串:
$p__________________________________________________________________________________________________________________________________________, &$s___________________________________________________________________________________________________________________________________________, &$k____________________________________________________________________________________________________________________________________________, &$nft_____________________________________________________________________________________________________________________________________________)
Run Code Online (Sandbox Code Playgroud)
并想知道我是否可以使用正则表达式将其转换为:
$p_, &$s_, &$k_, &$nft_)
Run Code Online (Sandbox Code Playgroud)
这基本上是删除所有(因此他们没有具体数量,但他们至少1)进行下划线,并用1下划线替换它们.
我尝试过以下模式,但没有运气:
preg_replace('#(\$[a-z]{1,3})[_]+#', '$1', $string);
Run Code Online (Sandbox Code Playgroud)
PS:preg_replace(正则表达式)优先的原因(虽然我理解它不是100%总是正确的)因为它比使用常规字符串替换函数更精确.
谢谢,感谢所有的帮助.
我有以下目录c:/files,我正在尝试创建一个包装函数,它模拟mkdir()的功能,除了在多个文件夹上工作,例如
mkdir在以下方面工作正常:
mkdir('c:/files/games', 0777);
Run Code Online (Sandbox Code Playgroud)
但不是这个:
mkdir('c:/files/games/say/yes', 0777);
Run Code Online (Sandbox Code Playgroud)
下面是一些粗略的代码来进一步描述我想要实现的目标:
function mmkdir($path, $chmod = 0777) {
/* do some loop or something with mkdir()? here */
}
mmkdir('C:/tmp/something/something');
mmkdir('C:/tmp/go/something');
mmkdir('C:/tmp/yes');
Run Code Online (Sandbox Code Playgroud)