opencart 画像マネージャーを使用して、画像ファイル名からスペースと安全でない文字を自動的に削除するようにアップロードを設定するにはどうすればよいですか?
Filemanager.php
$filename = basename(html_entity_decode($this->request->files['image']['name'], ENT_QUOTES, 'UTF-8'));
最良の方法は、次のような単純なpreg_replaceを使用することです。
$filename = preg_replace('~[^\w\./\\\\]+~', '', $filename);
これにより、文字、数字、アンダースコア、前後のスラッシュ、およびが可能になります。ファイル名のみで、他のものはすべて削除します
htmlspecialcharsは、安全でない文字(<>&'"など)に対して実行する必要があることを正確に実行します。
// for removing unsafe characters
$text = htmlspecialchars($text);
//空白を削除するため
正規表現付き:
preg_replace('/( )+/', ' ', $string);
//If you also want to remove every multi-white characters, you can use \s (\s is white characters)
preg_replace('/(\s)+/', ' ', $string);