FCKeditor : chemin upload image bizarre

Résolu
Bonjour à tous,

J'ai decidé de tester la version 2.4.2 de FCKeditor.
J'en suis à l'upload des images, et j'ai remarqué un problème.
Pour l'upload, il y a 2 chemins possibles.
1. tous dans un dossier (userfiles, configurable bien sûr)
2. chaque type de fichier dans des sous-dossiers de userfiles (ex: userfiles/image; userfiles/flash; ...)

Pour la première solution, l'upload est ok, l'apercu de l'image est bon.
Le HIC, c'est que lorsque l'on clique sur "parcourir le serveur", le dossier racine est Image, sous dossier de userfiles. Je suis donc un cran trop bas pour récupérer mon image uplaodée. Je n'ai pas trouvé dans les fichier de config où était défini le dossier maximum auquel on a droit...
Résumé de la solution 1 : j'ai un dossier 'userfiles' avec dedans un sous dossier 'image' et mon fichier uploadé au même niveau, alors que le Browser de FCKeditor ne veut pas aller plus haut que 'Image'

Solution 2 : j'active les sous dossiers, de manière à avoir 'userfiles/Image' pour stocker mes images. Or l'image ne s'uploade pas car l'uplaod cherche à mettre l'image dans le sous dossier 'image' et non 'Image' (majuscule... !!!). Je précise que c'est uniquement FCKeditor qui crée ce dossier 'image'
Resumé de la solution 2 : j'ai mes sous dossiers, je peux y accéder avec le browser, mais je peux rien mettre dedans...

Si vous avez compris tout ce que je viens d'écrire (pas évident à expliquer), pouvez vous m'aider à comprendre? Ai je loupé un truc ? Pourquoi FCKeditor utilise un coup image sans majuscule, et l'autre coup image avec majuscule?

Un grand merci d'avance pour vos réponses

gregg
Configuration: Windows XP
Firefox 2.0.0.3

26 réponses

Résumé de la discussion

Le recours à FCKeditor version 2.4.2 révèle un problème d'upload d'images et de navigation dans le dossier racine lors de l'utilisation du browser intégré. La solution consiste à modifier deux fichiers de configuration et à définir le chemin de stockage via $Config['UserFilesPath'] = '/mesimages/'; ce chemin part du répertoire www. Ainsi, il n'est pas nécessaire de créer manuellement les sous-dossiers et FCKeditor les génère automatiquement, tout en permettant d'accéder au bon répertoire via le navigateur de gestion des fichiers. En cas de besoin, il est possible de prendre en compte d'autres éléments de configuration, mais l'essentiel demeure que l'emplacement de départ et la création des sous-dossiers restent gérés par FCKeditor.

Bobot (l’IA à votre service)
  1. slt a tous !

    bon je v essayer d'expliquer clairement les choses !

    Je suppose que vous travaillez en local donc a partir de là le repertoire de base est www

    admettons qu'il y a 2 dossiers a l'interieur, l'un qui se nomme "FCKEditor" et l'autre "mesimages"

    Pour specifier le dossier dans lequel enregistrer les images uploader avec FCKEditor il y a 2 fichiers de configuration .
    Le premier : FCKEditor\editor\filemanager\browser\default\connectors\php\config.php
    Le second : FCKEditor\editor\filemanager\upload\php\config.php

    Dans ces deux fichiers relativement semblables , il y a ceci :

    $Config['UserFilesPath'] = '/chemin/';

    c'est ici qu'il faut specifier le chemin de votre dossier de stockage donc dans mon exemple ça nous donnera ceci :

    $Config['UserFilesPath'] = '/mesimages/';

    Ce chemin s'ecrit avec pour point de depart le dossier www
    Vous n'avez meme pas besoin de vous occuper a creer les differents sous-dossiers tel que Images ou Flash, c'est FCKEditor qui les créera pour vous.

    J'espere avoir repondu a la question.

    PS: j'ai créé un petit utilitaire qui permet de se faire sa barre d'outils personnalisée dans FCKEditor avec l'upload deja activé et configuré.
    J'ai aussi rajouté un petit systeme de news pret a l'emploi et basé sur des fichiers texte.
    Tout ceci fonctionne parfaitement.
    pour le telecharger : http://absurdsystem.free.fr/FCKEditor/
    Contient FCKEditor et mon utilitaire a modifié a volonté
    1. Bonjour
      Et merci pour ce tuto simple et clair.
      Presque tout marche (pour l'instant en local). Je peux envoyer 1 image ou 1 document Word contenant 1 image.
      Reste 1 petit souci :
      Quand je rédige 1 texte directement dans la fenêtre de fckeditor, je ne récupère rien, aucun fichier dans le fichier file créé par fckeditor à l'adresse de mon chemin.
      Peux tu m'aiguiller vers la solution ?
      @+
  2. Bonjour !

    Désolé de ne pouvoir t'aider, mais j'ai exactement le même problème, et j'y ai déjà passé des heures sans trouver la solution.

    Si tu l'as trouvé, ça serait sympa de repasser par ici... ;-)

    Je ferai de même si je la trouve de mon côté.

    @+

    --
    Nyavan
    1. Salut j'ai le meme probleme que toi ... as-tu trouvé une solution ?

      Merci !
      1. Merci pour cette explication on ne peut plus simple, ça fonctionne parfaitement...
        1. Désolé mais pour moi ça ne fonctionne pas !

          Le dossier dans lequel je veux les images est: www.nomdedomaine.fr/images

          j'ai donc configuré les 2 fichiers avec la valeur:
          $Config['UserFilesPath'] = '/images/';

          j'ai constament l'erreur :

          XML request error: OK (200)

          qui revient
          1. Slt !

            je crois que j'ai oublié de préciser un truc .

            Dans les 2 fichiers de config la ou il y a : $Config['UserFilesPath']

            juste au dessus y a ça : $Config['Enabled']= false;

            il faut mettre cette variable a vrai : $Config['Enabled']= true;

            Voila en esperant que ce soit ça...
            1. Bonjour,

              Pour moi, toujours pas !

              Toujours

              XML request error: OK (200)

              qui revient
              1. Bonjour,

                voila le message complet que j'ai systématiquement lorsque je clique sur le bouton parcourir (c'est la même chose avec FireFox):

                ---------------------------
                Microsoft Internet Explorer
                ---------------------------
                The server didn't send back a proper XML response. Please contact your system administrator.

                XML request error: OK (200)

                Requested URL:
                https://www.ffq.fr/

                Response text:
                <%@ CodePage=65001 Language="VBScript"%>
                <%
                Option Explicit
                Response.Buffer = True
                %>
                <!--
                * FCKeditor - The text editor for Internet - https://ckeditor.com/
                * Copyright (C) 2003-2007 Frederico Caldeira Knabben
                *
                * == BEGIN LICENSE ==
                *
                * Licensed under the terms of any of the following licenses at your
                * choice:
                *
                * - GNU General Public License Version 2 or later (the "GPL")
                * http://www.gnu.org/licenses/gpl-3.0.html
                *
                * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
                * http://www.gnu.org/licenses/lgpl-3.0.html
                *
                * - Mozilla Public License Version 1.1 or later (the "MPL")
                * https://www.mozilla.org/en-US/MPL/1.1/
                *
                * == END LICENSE ==
                *
                * This is the File Manager Connector for ASP.
                -->
                <!--#include file="config.asp"-->
                <!--#include file="util.asp"-->
                <!--#include file="io.asp"-->
                <!--#include file="basexml.asp"-->
                <!--#include file="commands.asp"-->
                <!--#include file="class_upload.asp"-->
                <%

                If ( ConfigIsEnabled = False ) Then
                SendError 1, "This connector is disabled. Please check the ""editor/filemanager/browser/default/connectors/asp/config.asp"" file"
                End If

                ' Get the "UserFiles" path.
                Dim sUserFilesPath

                If ( Not IsEmpty( ConfigUserFilesPath ) ) Then
                sUserFilesPath = ConfigUserFilesPath

                If ( Right( sUserFilesPath, 1 ) <> "/" ) Then
                sUserFilesPath = sUserFilesPath & "/"
                End If
                Else
                sUserFilesPath = "/userfiles/"
                End If

                ' Map the "UserFiles" path to a local directory.
                Dim sUserFilesDirectory
                sUserFilesDirectory = Server.MapPath( sUserFilesPath )

                If ( Right( sUserFilesDirectory, 1 ) <> "\" ) Then
                sUserFilesDirectory = sUserFilesDirectory & "\"
                End If

                DoResponse

                Sub DoResponse()
                Dim sCommand, sResourceType, sCurrentFolder

                ' Get the main request information.
                sCommand = Request.QueryString("Command")
                If ( sCommand = "" ) Then Exit Sub

                sResourceType = Request.QueryString("Type")
                If ( sResourceType = "" ) Then Exit Sub

                sCurrentFolder = Request.QueryString("CurrentFolder")
                If ( sCurrentFolder = "" ) Then Exit Sub

                ' Check if it is an allower resource type.
                if ( Not IsAllowedType( sResourceType ) ) Then Exit Sub

                ' Check the current folder syntax (must begin and start with a slash).
                If ( Right( sCurrentFolder, 1 ) <> "/" ) Then sCurrentFolder = sCurrentFolder & "/"
                If ( Left( sCurrentFolder, 1 ) <> "/" ) Then sCurrentFolder = "/" & sCurrentFolder

                ' Check for invalid folder paths (..)
                If ( InStr( 1, sCurrentFolder, ".." ) <> 0 OR InStr( 1, sResourceType, ".." ) <> 0 ) Then
                SendError 102, ""
                End If

                ' File Upload doesn't have to Return XML, so it must be intercepted before anything.
                If ( sCommand = "FileUpload" ) Then
                FileUpload sResourceType, sCurrentFolder
                Exit Sub
                End If

                SetXmlHeaders

                CreateXmlHeader sCommand, sResourceType, sCurrentFolder

                ' Execute the required command.
                Select Case sCommand
                Case "GetFolders"
                GetFolders sResourceType, sCurrentFolder
                Case "GetFoldersAndFiles"
                GetFoldersAndFiles sResourceType, sCurrentFolder
                Case "CreateFolder"
                CreateFolder sResourceType, sCurrentFolder
                End Select

                CreateXmlFooter

                Response.End
                End Sub

                Function IsAllowedType( resourceType )
                Dim oRE
                Set oRE = New RegExp
                oRE.IgnoreCase = True
                oRE.Global = True
                oRE.Pattern = "^(File|Image|Flash|Media)$"

                IsAllowedType = oRE.Test( resourceType )

                Set oRE = Nothing
                End Function
                %>
                ---------------------------
                OK
                ---------------------------

                Merci par avance de votre aide
                1. j'ai deja eu ce probleme et je l'ai resolu...mais je ne sais plus comment !!!!!
                  je v regarder à ça et vous donnerai des news
                  1. Bonjour,

                    Voila une bonne nouvelle car ça fait des jours que je cherche la solution mais sans succès.

                    Merci par avance
                    1. bonjour,
                      moi aussi j'ai la même probléme;
                      vous pouvez me donner la solution
                      merci
                      1. Bonjour à tous, j'ai le même problème, mais en ligne, en local, ça fonctionne parfaitement ...

                        Voilà ma config pour que ça fonctionne en local :

                        dans fckconfig.js :
                        var _FileBrowserLanguage = 'php' ;
                        var _QuickUploadLanguage = 'php' ;

                        dans les deux config.php (upload et connector) :

                        $Config['UserFilesPath'] = 'http://localhost/mondossier/' ;
                        $Config['UserFilesAbsolutePath'] = 'www/mondossier/' ;

                        (mondossier étant le dossier contenant le dossier Image de Fck ...)

                        Mais quand je passe en ligne, je remplace respectivement localhost par mondomaine.fr et www par mondomaine, et je retrouve cette fameuse erreur xml ...

                        Si quelqu'un connait l'astuce ...
                        1. Bonjour, J'ai résolu le problème de la façon suivante :

                          dans les deux config.php (upload et connector) :

                          $Config['UserFilesPath'] = '/mondossier/' ;
                          $Config['UserFilesAbsolutePath'] = $_SERVER['DOCUMENT_ROOT'].'/mondossier/' ;

                          (mondossier étant le dossier contenant le dossier Image de Fck ...)

                          Pour être puriste il faudrait tenir compte du fait que $_SERVER['DOCUMENT_ROOT'] renvoie le chemin terminé par un '/' sous windows et sans slash sous linux mais cela fonctionne comme cela.

                          Bon devs...
                          1. Bonjour,

                            ça ne change rien pour moi !

                            Toujours l'erreur "XML request error: OK (200) "
                            1. Essayer de supprimer les accents et caractere spéciaux dans la liste des des fichier concerné
                            2. @lesam25C'est la solution : virer les caracteres speciaux. Nottament le ç
                          2. Modérateur
                            bonjour
                            pourquoi ne pas vous inscrire sur ce forum ? au lieu de rester anonyme ...
                            et ce serait bien plus sympa vis à vis de tous ceux qui essaient d'aider ici
                            merci
                            b g
                            1. hello

                              FCK display les 2 path, être copier coller dans le fichier config..

                              donc FCK setting --> profile --> advanced--> file broser setting

                              bye
                          3. Bonjour
                            FCKeditor_2.6.4 fonctionne bien le seul hic c'est quand j'insert une image dans le message puis le submit le chemin crée pour l'image et height='\"92\"' alt='\"\"' src='\"/userfiles/image/sample_image.jpg\"' width='\"139\"'></P></TD enfin plein de \\ partout donc l'image ne s'affiche pas
                            je cherche depuis des jours sur le net pas encore trouvé si quelqu'un a une idée merci d'avance
                            1. Bonjour,

                              J'ai le même pblm
                              Est ce que t'as pu avoir une solutions

                              D'avance, merci
                          4. Bonjour,

                            J'ai toujours ce message qui revient également : "XML request error: OK (200)"

                            Est-ce que quelqu'un aurait trouvé la solution à ce problème ?
                            J'ai tenté tout ce que j'avais trouvé sur ce forum mais rien n'y fait.

                            Est-ce que ça pourrait dépendre des privilèges octroyer par les hébergeurs ?
                            Mon hébergeur m'a prévenu par mail que le CHMOD devait être mit en 755 (ce que j'ai fait) mais ça n'a rien changé.

                            J'ai juste ce problème d'upload et ça devient vraiment ennuyant...

                            Merci d'avance pour vos réponse ;)
                            • 1
                            • 2