gpt4 book ai didi

php - 如何打开这个文件?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:36:23 25 4
gpt4 key购买 nike

不幸的是,我允许用户将文件上传到服务器而不先清理其名称(Linux、PHP、MySQL)。

其中一个上传的文件名为“E_M_20-06-2013_14-15_ComidasTípicas.zip”(它在 MySQL 数据库中是正确的,UTF-8 编码)。

但是当我尝试在 PHP 中执行 fopen() 时,我找不到这个文件。根据语言环境 (LANG),我检索不同的文件名,例如:

    $ export LANG=pt_BR.UTF-8
$ ls ../web/downloads/E_M_20-06-2013_14-15_ComidasT*
../web/downloads/E_M_20-06-2013_14-15_ComidasTípicas.zip

$ export LANG=pt_BR.ISO-8859-1
$ ls ../web/downloads/E_M_20-06-2013_14-15_ComidasT*
../web/downloads/E_M_20-06-2013_14-15_ComidasT▒?­picas.zip

$ export LANG=C
$ ls ../web/downloads/E_M_20-06-2013_14-15_ComidasT*
../web/downloads/E_M_20-06-2013_14-15_ComidasT????picas.zip

有人可以帮助我了解如何使用 PHP 打开此文件吗?

PS:当然,我试过utf8_encode,utf8_decode,都没有成功。

提前致谢!

最佳答案

编写一个脚本来查找文件并重命名没有损坏字符(非字母数字和下划线)的文件

检查 scandir 以找到文件 http://php.net/manual/en/function.scandir.php

检查此线程以查找非字母数字字符 PHP Regular expression - Remove all non-alphanumeric characters

因此,您将获得干净的文件名和写入数据库的文件名。如果需要,您也可以在数据库字段上执行相同的操作。

关于php - 如何打开这个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17686502/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com