如何删除文件名中包含多字节字符的文件?

时间:2011-03-08 12:15:05

标签: php ftp

我不小心用PHP创建了一个文件,现在我无法删除或重命名它。

该文件名为“C2%9Dâ2™j299t™93.gif

编辑:我只能通过FTP访问,主机是基于Linux的

编辑2:我甚至无法删除它所在的目录。

4 个答案:

答案 0 :(得分:2)

在命令行中,写:

ftp to.target.server
del *93.gif   

如果您是该文件的所有者,则应该可以使用(权限为644)

答案 1 :(得分:0)

从PHP可以使用unlink函数,如下所示:

<?php
$filename="â€%C2%9Dâ2™j299t™93.gif";

unlink($filename);
?>

您遇到的问题可能与正在翻译的™符号有关。如果您复制上面的代码并将其粘贴到编辑器中然后运行它,那么应该删除该文件,假设它是从与文件相同的目录运行。

答案 2 :(得分:0)

下载Filezilla并将网站编码设置为强制执行utf-8。然后尝试通过它删除您的文件。

答案 3 :(得分:0)

我猜你不知道确切的文件名(因为你的ftp客户端没有以正确的方式显示它)。您可以迭代直通文件。此示例删除其中包含字符%的所有文件。 小心使用

$d = dir(".");
while (false !== ($entry = $d->read())) {
    if (strpos ($entry, '%') !== false) {
        unlink ($entry);
    }
}
$d->close();