我在我的tinymce编辑器中实现了roxy fileman,它工作得很好,但我在上传带有变音(ä,ö,ü,«)等的文件时遇到了一些问题。如何处理这个问题?
发布于 2018-07-19 19:41:39
在您的fileman/php/ dir中搜索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可以处理的字符组成,你必须在umlaute转换后添加以下行。
$filename = preg_replace('/[^A-Za-z0-9\-_.]/', '-', $filename);这消除了所有的重音和特殊字符,而不需要替换。如果您想转换更多语言特定的字符(例如é、è、è=> e),您可以添加更多的str_replace行。
https://stackoverflow.com/questions/34996402
复制相似问题