php - 我应该为文件名转义/清理哪些字符?

标签 php

我需要清理一些将在文件名中使用的数据。一些数据包含空格和符号字符。是否有一个函数可以转义或清理适合在文件名(或路径)中使用的数据?我在 PHP 手册的“文件系统功能”部分找不到。

那么,假设我必须编写自己的函数,我需要转义(或更改)哪些字符?

最佳答案

对于 Windows:

/ \ : * ? " < > |

对于 Unix,技术上没什么,但实际上与 Windows 相同的列表是明智的。

只要您准备好在操作文件时在命令行中使用引号,空格或 & 号就没有问题。

(顺便说一句,我通过尝试将 Windows 上的文件重命名为包含冒号的内容并从错误消息中复制来获得该列表。)

关于php - 我应该为文件名转义/清理哪些字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1046767/

相关文章:

php - 从本地主机上的 PHP 文件访问 MySql 数据库

PHP 和 MySQL 函数返回

php - Laravel Blade 组件 - UTF-8 编码问题

CentOS 6.5 上的 PHP MSSQL 5.5.8-1?

php - 元音符号不会保存在 mysql 中

php - 使用 PHP MySQL PHP 从数据库获取数据时遇到问题

php - 显示3个表的数据

php - Codeigniter评分排名

php - 循环过多的 SQL 查询

PHP 强制下载和刷新解决方案不起作用