重命名使用CKFinder上传的图像

Fra*_*isc 6 php upload image ckfinder

我可以重命名使用CKFinder上传的图像吗?

cod*_*gle 7

你使用PHP版的CKFinder吗?如果是这样,以下可能会有所帮助.

上传文件时,您可以自动删除空格,带重音的字符等.在config.php文件中将"ForceAscii"设置为"true":

$config['ForceAscii'] = true;
Run Code Online (Sandbox Code Playgroud)

从此文件的第59行开始,可以找到"ForceAscii"设置的代码:
ckfinder\core\connector\php\php5\CommandHandler\FileUpload.php

    if ($_config->forceAscii()) {
      $sFileName = CKFinder_Connector_Utils_FileSystem::convertToAscii($sFileName);
    }
Run Code Online (Sandbox Code Playgroud)

要在文件上传时重命名,您可以将自己的代码添加到"ForceAscii"代码中.

要在开头或结尾添加一些静态文本:

    if ($_config->forceAscii()) {
        $sFileName = CKFinder_Connector_Utils_FileSystem::convertToAscii($sFileName);
        $sFileName .= "YourTextHere"; // Append your text
        $sFileName = "YourTextHere" . $sFileName; // Prepend your text
    }
Run Code Online (Sandbox Code Playgroud)

就在强制ascii代码是字符串替换之前,如果符合您的目标,您可以添加自己的字符串替换版本.

$sFileName = str_replace(array(":", "*", "?", "|", "/"), "_", $sUnsafeFileName);
Run Code Online (Sandbox Code Playgroud)

如果用于重命名的文本会有所不同,则需要提供更多详细信息:
文本是否会根据上载文件的用户而有所不同?
每个图像都会有所不同,无论是谁上传它?
什么将决定使用的实际文本(基于用户名?).

最新版本2.1允许用户一次上传多个文件.这可能会影响您采取的方法.

如果您提供其他信息,我会看看能否提出更好的答案.


这是否意味着允许最终用户重命名他们的图像?用户可以按如下方式重命名图像:

当他们在文件浏览器窗口中查看图像时,他们会右键单击图像."重命名"是上下文菜单中的选项之一.

编辑:最新版本的CKFinder(2.1)有一个配置设置放在config.js文件中:

config.showContextMenuArrow = true;
Run Code Online (Sandbox Code Playgroud)

此设置允许用户通过单击图像角落中出现的箭头来访问上下文菜单.

好吧,