如何重命名PHP中包含空格的文件?

how to rename file that contain space in php?

提问人:kian 提问时间:10/21/2023 最后编辑:kian 更新时间:10/21/2023 访问量:32

问:

我想重命名名称中包含空格的文件。它适用于没有空格的文件,但不适用于文件包含空间。 我首先运行函数,但问题仍然存在file_exists()

这是我的功能:

    function renamePDF()
    {
        $path = __DIR__ . "/../../uploads/";
        $old = $path . $_POST['oldname'];
        $new = $path . $_POST['newName'] . ".pdf";
        rename($old, $new);
    }

什么是问题? 谢谢

PHP 空间 文件重命名

评论

1赞 KIKO Software 10/21/2023
在这种情况下,使用的操作系统可能很重要。如果只是为了尝试复制问题。它是什么?哦,PHP版本也可能有用。
0赞 kian 10/21/2023
os 是 windows 和 PHP 版本 8.2.4
0赞 KIKO Software 10/21/2023
对不起,我没有在 Windows 上运行 PHP,我找不到其他有类似问题的人。您可能希望简化代码,不需要 ,并准确解释会发生什么。这可能会增加您获得有用答案的改变。另请参阅:“它不起作用”无助于帮助您改进问题。$_POST

答:

0赞 kian 10/21/2023 #1

通过此解决方案,在重命名文件之前有效,
请替换它:

 $oldname = preg_replace('/\s+/u', ' ', $old);