Pergunta

Posso renomear uma imagem que é carregada usando o ckfinder?

Foi útil?

Solução

Você usa a versão php do ckfinder? Nesse caso, o seguinte pode ajudar.

Ao fazer o upload de arquivos, você pode remover automaticamente espaços, caracteres com sotaques e tal. Defina "forceascii" como "true" no arquivo config.php:

$config['ForceAscii'] = true;

O código para a configuração "forceascii" é encontrado começando na linha 59 neste arquivo:
ckfinder Core Connector php php5 commandHandler fileUpload.php

    if ($_config->forceAscii()) {
      $sFileName = CKFinder_Connector_Utils_FileSystem::convertToAscii($sFileName);
    }

Para renomear o arquivo conforme o upload, você pode adicionar seu próprio código ao código "forceascii".

Para adicionar algum texto estático ao início ou ao fim:

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

Pouco antes do código ASCII da Force ser uma String Substituir, você pode adicionar sua própria versão de uma String Substituir se isso atingir seus objetivos.

$sFileName = str_replace(array(":", "*", "?", "|", "/"), "_", $sUnsafeFileName);

Se o texto usado para a renomeação variará, você precisará fornecer muito mais detalhes:
O texto variará dependendo de qual usuário está carregando o arquivo?
Varia varia para cada imagem, independentemente de quem a carrega?
O que determinará o texto real usado (com base no nome de usuário?).

A versão mais recente, 2.1 permite ao usuário fazer upload de vários arquivos ao mesmo tempo. Isso pode afetar a abordagem que você adota.

Se você fornecer informações adicionais, verei se consigo uma resposta melhor.


Isso deve permitir que o usuário final renomeie suas imagens? É possível para o usuário renomear uma imagem da seguinte maneira:

Quando eles estão olhando para as imagens na janela do navegador de arquivos, clica com o botão direito do mouse em uma imagem. "Renome" é uma das opções no menu de contexto.

EDITAR: A versão mais recente do ckfinder (2.1) possui uma configuração de configuração que é colocada no arquivo config.js:

config.showContextMenuArrow = true;

Essa configuração permite ao usuário acessar o menu de contexto clicando em uma seta que aparece no canto da imagem.

Fique bem,
Joe

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top