This question has been answered by hochmohr. See the first response.
if ($size > $maxFileSize) { $this->addError('path',$this->xpdo->lexicon('file_err_too_large',array( 'size' => $size, 'allowed' => $maxFileSize, ))); continue; } /////// added / changed lines $pat = array('/Ä/','/Ö/','/Ü/','/ä/','/ö/','/ü/','/ß/', '/(á|â|à)/', '/(é|è|ê)/', '/(í|ì|î)/', '/\s+/'); $rep = array('Ae','Oe','Ue','ae','oe','ue','ss', 'a', 'e', 'i', '_'); $newPath = preg_replace($pat, $rep, utf8_decode($file['name'])); $newPath = $this->fileHandler->sanitizePath($newPath); // $newPath = $this->fileHandler->sanitizePath($file['name']); /////// $newPath = $directory->getPath().$newPath;