2010-08-31 4 views

Antwort

6

Verwenden Sie die PHP-Version von CKFinder? In diesem Fall könnte Folgendes hilfreich sein.

Beim Hochladen von Dateien können Sie automatisch Leerzeichen, Zeichen mit Akzenten usw. entfernen. Set "ForceAscii" auf "true" in der Datei config.php:

$config['ForceAscii'] = true; 

Der Code für die "ForceAscii" Einstellung gefunden wird ab Zeile 59 in dieser Datei:
CKFinder \ core \ Anschluss \ php \ php5 \ Command \ FileUpload.php

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

die Datei umbenennen, wie es hochgeladen ist, könnten Sie Ihren eigenen Code in die „ForceAscii“ Code hinzufügen.

Um einige statische Text an den Anfang oder das Ende hinzufügen:

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

Kurz vor der Kraft ASCII-Code ist eine Zeichenfolge ersetzen, könnten Sie Ihre eigene Version eines Strings hinzufügen ersetzen, wenn die Ihre Ziele erfüllen würde .

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

Wenn der Text für den Umbenennungs verwendet wird variieren, müssen Sie viel mehr Details bieten:
Wird der Text variieren je nachdem, welcher Benutzer die Datei lädt?
Wird es für jedes Bild variieren, unabhängig davon, wer es hochlädt?
Was bestimmt den tatsächlichen Text, der verwendet wird (basierend auf Benutzername?).

Mit der neuesten Version 2.1 kann der Benutzer mehrere Dateien gleichzeitig hochladen. Dies könnte sich auf Ihren Ansatz auswirken.

Wenn Sie zusätzliche Informationen bereitstellen, werde ich sehen, ob ich eine bessere Antwort finden kann.


Soll der Endbenutzer seine Bilder umbenennen? Der Benutzer kann ein Bild wie folgt umbenennen:

Wenn sie die Bilder im Dateibrowserfenster betrachten, klicken sie mit der rechten Maustaste auf ein Bild. "Umbenennen" ist eine der Optionen im Kontextmenü.

EDIT: Die neueste Version von CKFinder (2.1) hat eine Konfigurationseinstellung, die in der Datei config.js platziert wird:

config.showContextMenuArrow = true; 

diese Einstellung ermöglicht es dem Benutzer, indem Sie auf das Kontextmenü zuzugreifen ein Pfeil, der in der Ecke des Bildes erscheint.

Be Well,
Joe

+1

Sie sind willkommen. Ich bin froh, dass es hilfreich war. – codewaggle

+1

"Wenn Sie die Seite mit dem Firefox-Browser anzeigen, müssen Sie nach dem Rechtsklick die" Esc "-Taste drücken, da das FireFox-Kontextmenü das CKFinder-Kontextmenü abdeckt" -> Das passiert nur, wenn Sie hat die Standardkonfiguration von Firefox geändert, um zu verhindern, dass Seiten das Kontextmenü des Browsers ausblenden. Standardmäßig wird nur das CKFinder-Menü angezeigt. – AlfonsoML

+0

Danke für die Klarstellung, es ist so lange her, dass ich meine Konfiguration angepasst habe, an die ich mich nicht mehr erinnern konnte. – codewaggle