如何替换上传文件的文件名中的空格

发布于 2024-11-07 13:15:20 字数 234 浏览 4 评论 0原文

我正在制作一个 SWF 上传器并已完成 HTML 表单。

它工作得很好,直到我上传名称中包含空格的 SWF 文件。

如何用下划线替换空格?

我已经尝试过了……

str_replace(" ","_", $file);

并且……

preg_replace(" ","_", $file);

I'm making a SWF uploader and have my HTML form done.

It works totally fine until I upload a SWF file with spaces in the name.

How can I replace whitespace with underscores?

I have tried...

str_replace(" ","_", $file);

...and...

preg_replace(" ","_", $file);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

停顿的约定 2024-11-14 13:15:20

如何用下划线替换空格?

\s 字符类将匹配空白字符。我添加了 + 量词,将多个空格折叠为一个 _。如果您不想这样做,请删除 +

$file = preg_replace('/\s+/', '_', $file);

How can I replace whitespace with underscores?

The \s character class will match whitespace characters. I've added the + quantifier to collapse multiple whitespace to one _. If you don't want that, remove the +.

$file = preg_replace('/\s+/', '_', $file);
北笙凉宸 2024-11-14 13:15:20

该函数是正确的,但您必须将其分配给变量。

$filename = str_replace/preg_replace(" ","_", $file);

the function is correct but you have to assign it to a variable.

$filename = str_replace/preg_replace(" ","_", $file);
讽刺将军 2024-11-14 13:15:20

我通常从另一边处理它,只允许来自白名单的字符;我替换了除这些字符之外的所有内容:

$file = preg_replace("/[^-_a-z0-9]+/i", "_", $file);

I usually approach it from the other side and only allow characters from a white-list; I replace everything except these characters:

$file = preg_replace("/[^-_a-z0-9]+/i", "_", $file);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文