【发布时间】:2016-01-25 15:36:32
【问题描述】:
我在我的 tinymce 编辑器中实现了 roxy 文件管理器,它工作得很好,但是我在上传带有元音变音 (ä,ö,ü,ß) 等的文件时遇到了一点问题。如何处理这个问题?
【问题讨论】:
-
修改您的代码以改善行为或放弃并将其标记为您的应用程序的特征。
标签: tinymce roxy-fileman
我在我的 tinymce 编辑器中实现了 roxy 文件管理器,它工作得很好,但是我在上传带有元音变音 (ä,ö,ü,ß) 等的文件时遇到了一点问题。如何处理这个问题?
【问题讨论】:
标签: tinymce roxy-fileman
在您的 fileman/php/ 目录中搜索 upload.php。你会发现一个从第 37 行开始的 foreach 循环。在循环内你会发现以下行(应该是循环中的第一行):
$filename = $_FILES['files']['name'][$k];
在此行之后插入以下代码:
// replace umlaute and white spaces
$filename = str_replace(' ', '-', $filename);
$filename = str_replace(utf8_decode('ä'), 'ae', $filename);
$filename = str_replace(utf8_decode('Ä'), 'Ae', $filename);
$filename = str_replace(utf8_decode('ö'), 'oe', $filename);
$filename = str_replace(utf8_decode('Ö'), 'Oe', $filename);
$filename = str_replace(utf8_decode('ü'), 'ue', $filename);
$filename = str_replace(utf8_decode('Ü'), 'Ue', $filename);
$filename = str_replace(utf8_decode('ß'), 'ss', $filename);
完成。
如果要确保文件名仅包含 Roy Fileman 可以处理的字符,则必须在元音转换后添加以下行。
$filename = preg_replace('/[^A-Za-z0-9\-_.]/', '-', $filename);
这将删除各种重音和特殊字符而无需替换。如果您想转换更多特定语言的字符(例如 é、è、ê => e),您可以添加更多 str_replace 行。
【讨论】: