2010-08-31 4 views

Répondre

6

Utilisez-vous la version PHP de CKFinder? Si oui, ce qui suit pourrait aider.

Lors du téléchargement de fichiers, vous pouvez supprimer automatiquement les espaces, les caractères accentués et autres. Set "ForceAscii" à "true" dans le fichier config.php:

$config['ForceAscii'] = true; 

Le code pour le réglage "ForceAscii" se trouve à partir de la ligne 59 dans ce fichier:
CKFinder \ core \ connecteur \ php \ php5 \ CommandHandler \ FileUpload.php

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

pour renommer le fichier tel qu'il est téléchargé, vous pouvez ajouter votre propre code au code "ForceAscii".

Pour ajouter un texte statique au début ou à la fin:

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

Juste avant le code force ascii est une chaîne remplacer, vous pouvez ajouter votre propre version d'une chaîne remplacer si cela atteindre vos objectifs .

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

Si le texte utilisé pour le changement de nom varie, vous aurez besoin de fournir beaucoup plus de détails:
Est-ce que le texte varient en fonction de l'utilisateur est télécharger le fichier?
Cela va-t-il varier pour chaque image, quel que soit le téléchargement?
Qu'est-ce qui va déterminer le texte utilisé (basé sur le nom d'utilisateur?).

La dernière version, 2.1 permet à l'utilisateur de télécharger plusieurs fichiers à la fois. Cela pourrait affecter l'approche que vous prenez.

Si vous fournissez des informations supplémentaires, je verrai si je peux trouver une meilleure réponse. Est-ce que cela a pour but de permettre à l'utilisateur final de renommer ses images?


Il est possible pour l'utilisateur de renommer une image comme suit:

Lorsqu'ils regardent les images dans la fenêtre du navigateur de fichiers, ils feraient un clic droit sur une image. "Renommer" est l'une des options du menu contextuel.

EDIT: La dernière version de CKFinder (2.1) a un paramètre de configuration qui est placé dans le fichier config.js:

config.showContextMenuArrow = true; 

ce paramètre permet à l'utilisateur d'accéder au menu contextuel en cliquant sur une flèche qui apparaît dans le coin de l'image.

Soyez Eh bien,
Joe

+1

Vous êtes Bienvenue. Je suis content que cela ait été utile. – codewaggle

+1

"Si vous visualisez le site en utilisant le navigateur FireFox, vous devez appuyer sur le bouton" Echap "après avoir cliqué droit, car le menu contextuel de FireFox couvre le menu contextuel de CKFinder" -> Cela ne se produit que si vous avez modifié la configuration par défaut de Firefox pour empêcher les pages de masquer le menu contextuel du navigateur. Par défaut, il affichera uniquement le menu CKFinder. – AlfonsoML

+0

Merci pour la clarification, ça faisait si longtemps que j'avais ajusté ma configuration que je ne me rappelais pas la changer. – codewaggle

Questions connexes