我将roxy fileman实现到我的tinymce编辑器中,它运行得很好,但是我在使用变音符号(ä,ö,ü,ß)等上传文件时遇到了一些问题。如何处理这个问题?
答案 0 :(得分:0)
在您的fileman / php /目录中搜索upload.php。您将在第37行找到一个foreach循环。在循环内,您会发现以下行(应该是循环的第一行):
$keyword = "Calibri"; //the keyword is dynamic
$dir = new DirectoryIterator('C:\wamp\www\pdfdemos\cv');
$parser = new \Smalot\PdfParser\Parser();
foreach ($dir as $file) {
if($file->isFile() && $file->getExtension() =='pdf'){
if ($file->getFilename() =="." || $file->getFilename() =="..") {
continue;
}else{
echo "File name: ".$file->getFilename()."<br />";
$pdf= $parser->parseFile('C:\wamp\www\pdfdemos/cv/'.$file->getFilename());
$pages = $pdf->getPages();
$text = $pdf->getText();
if(stripos(strtolower($text), $keyword)) {
echo "Keyword Matches";
echo "<br/><hr />";
}else{
echo "Keyword Not Matches";
unset($text);
}
}
}
}
在此行之后插入以下代码:
$filename = $_FILES['files']['name'][$k];
完成。
如果要确保文件名仅由Roy Fileman可以处理的字符组成,则必须在umlaute转换后添加以下行。
// 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);
这会删除所有重音符号和特殊字符,而无需替换。如果要转换更多特定于语言的字符(例如é,è,ê=> e),则可以添加更多str_replace行。