【问题标题】:How to upload files named in cyrillic which conserve their names after the upload (PHP)?如何上传以西里尔文命名的文件,这些文件在上传后保留其名称(PHP)?
【发布时间】:2014-09-07 08:17:22
【问题描述】:

我正在上传名称为西里尔字母的文件。但是当我打开保存这些文件的目录时,它的名称并不相同,并且由非常奇怪的字符РћР±СЏРІР°组成。我的 php 文件以 UTF 编码 - 8 这里是上传的代码:

if(move_uploaded_file($_FILES['picture']['tmp_name'] , 'test'.DIRECTORY_SEPARATOR.$_FILES['picture']['name'])){

                    echo "File uploaded successfully";

}

这是PHP文件的所有代码:

http://pastebin.com/eVL7QHFF

【问题讨论】:

  • 您不应该使用原始文件名,这会导致许多安全性和其他问题。见stackoverflow.com/a/17866898/151097
  • 我正在做一个学校项目,他们想要这样。那么在用西里尔文写的时候如何保存文件的原始名称呢?
  • 难怪互联网上到处都是蹩脚的网站,安全漏洞大到...... :(
  • 但是为了这个问题......你可以尝试utf8_decode文件名。取决于您的系统设置。
  • 以及如何进行 utf8_decode ?

标签: php file-upload cyrillic


【解决方案1】:

为我工作

$fileName = iconv("utf-8","cp1251",  $fileName);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 2017-03-12
    • 2012-04-12
    • 1970-01-01
    • 2011-07-09
    • 1970-01-01
    相关资源
    最近更新 更多