我在这条路径中有“AAA / BBB / CCC / DDD / test”之类的路径我想用PHP删除最后一个文件夹“/ test”。我试过下面的代码。
码
$ dirname =‘AAA / BBB / CCC / DDD / test’remove_directory()…
使用 basename() 功能:这将为您提供所需的文件夹名称。
basename()
$dirname = 'AAA/BBB/CCC/DDD/test'; function remove_directory($dirname) { $dirname = basename($dirname); rmdir($dirname); } remove_directory($dirname);
什么是完整的路径?因为你没有开始你的路径 C:\ 在Windows或 / 在Linux上,您尝试删除相对于当前工作目录的目录。这可能不会评估您尝试删除的目录。
C:\
/
如果你想访问你的 $dirname 你的函数里面的变量你将不得不使用 全球 关键词。但更好的做法是将目录作为变量传递给您的函数。
$dirname
此外,作为一个良好实践,您应该在尝试调用之前使用函数实现。通常,它没关系,但是有一些例外,特别是当函数的存在以某些其他正在执行的代码为条件时。
这里的问题是你已经创建了一个函数 remove_directory() 没有争论。所以函数里面的变量 $dirname 没有内容,因为它超出了您最初定义它的范围。可能的解决方案是抛弃函数并写下:
remove_directory()
$dirname = 'AAA/BBB/CCC/DDD/test'锟斤拷 rmdir($dirname)
或纠正你的错误:
$dirname = 'AAA/BBB/CCC/DDD/test' remove_directory($dirname); function remove_directory($dirname) { rmdir($dirname) }