在 PHP 中,使用 readdir()
函数读取目录内容时,如果目录中包含中文字符,可能会遇到乱码问题。这是因为默认情况下,readdir()
函数返回的是文件名,而不是文件名对应的完整路径。为了解决这个问题,你需要将目录和文件名都转换为 Unicode 编码(如 UTF-8),然后进行比较和处理。
以下是一个处理中文路径的示例:
在这个示例中,我们首先使用 setlocale()
函数设置字符编码为 UTF-8。然后,我们使用 readdir()
函数读取目录内容,并将文件名和完整路径转换为 Unicode 编码。最后,我们检查文件名是否为目录,并相应地处理中文目录名和文件名。