CKFinderを使用してアップロードされた画像の名前を変更できますか?
1 に答える
PHPバージョンのCKFinderを使用していますか?もしそうなら、以下が役立つかもしれません。
ファイルをアップロードするときに、スペースやアクセント付きの文字などを自動的に削除できます。config.phpファイルで「ForceAscii」を「true」に設定します。
$config['ForceAscii'] = true;
「ForceAscii」設定のコードは、次のファイルの59行目から始まります:
ckfinder \ core \ connector \ php \ php5 \ CommandHandler \ FileUpload.php
if ($_config->forceAscii()) {
$sFileName = CKFinder_Connector_Utils_FileSystem::convertToAscii($sFileName);
}
アップロード時にファイルの名前を変更するには、「ForceAscii」コードに独自のコードを追加します。
静的テキストを最初または最後に追加するには:
if ($_config->forceAscii()) {
$sFileName = CKFinder_Connector_Utils_FileSystem::convertToAscii($sFileName);
$sFileName .= "YourTextHere"; // Append your text
$sFileName = "YourTextHere" . $sFileName; // Prepend your text
}
force asciiコードが文字列置換になる直前に、目標を達成できる場合は、独自のバージョンの文字列置換を追加できます。
$sFileName = str_replace(array(":", "*", "?", "|", "/"), "_", $sUnsafeFileName);
名前の変更に使用されるテキストが異なる場合は、さらに多くの詳細を提供する必要があります。
テキストは、ファイルをアップロードしているユーザーによって異なりますか?
誰がアップロードしたかに関係なく、画像ごとに異なりますか?
(ユーザー名に基づいて)使用される実際のテキストを決定するものは何ですか?
最新バージョンの2.1では、ユーザーは一度に複数のファイルをアップロードできます。これは、採用するアプローチに影響を与える可能性があります。
追加情報を提供していただければ、より良い答えを思いつくことができるかどうかを確認します。
これは、エンドユーザーが画像の名前を変更できるようにするためのものですか?ユーザーは次のように画像の名前を変更できます。
ファイルブラウザウィンドウで画像を見ているときは、画像を右クリックします。「名前の変更」は、コンテキストメニューのオプションの1つです。
編集:最新バージョンのCKFinder(2.1)には、config.jsファイルに配置された構成設定があります。
config.showContextMenuArrow = true;
この設定により、ユーザーは画像の隅に表示される矢印をクリックしてコンテキストメニューにアクセスできます。
さあ、
ジョー