6

CKFinderを使用してアップロードされた画像の名前を変更できますか?

4

1 に答える 1

7

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;

この設定により、ユーザーは画像の隅に表示される矢印をクリックしてコンテキストメニューにアクセスできます。

さあ、
ジョー

于 2011-09-14T02:20:02.390 に答える