Старый 05.04.2012, 17:42   #1
intersecure3207
 
Регистрация: 10.02.2012
Сообщений: 10
Репутация: 0
По умолчанию FCKeditor. Дурацкая ситуация(

Имеем сайт: www.example.com В корне вебдиректории стоит fckeditor, т.е. www.example.com/fckeditor/

запрос
Код:
../fckeditor/editor/dialog/fck_about.html дает
нам ответ
Код:
version 2.0 RC3

при загрузке файла через
Код:
http://www.example.com/fckeditor/editor/filemanager/browser/default/connectors/test.html
мы получаем ошибку:

Код:
URL: php/connector.php?Command=FileUpload&Type=File&CurrentFolder=/

Warning: move_uploaded_file(/host/www.example.com/htdocs/UserFiles/File/test.htm) [function.move-uploaded-file]: failed to open stream: No such file or directory in /host/www.example.com/htdocs/fckeditor/editor/filemanager/browser/default/connectors/php/commands.php on line 164

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpx1SuWu' to '/hosting/www.example.com/htdocs/UserFiles/File/test.htm' in /host/www.example.com/htdocs/fckeditor/editor/filemanager/browser/default/connectors/php/commands.php on line 164
Директории UserFiles/File/ не существует - это ясно. пичалька...


Тогда я меняю на существующую папку в ServerPath /docs/ (Из нее доступны вордовские, экселевские и др. доки для скачивания, хотя директория /docs/ закрыта для просмотра. Виртуальный путь к папке http://www.example.com/docs/)

В ответ приходит, что файл существует такой test.htm (т.к я второй раз лью).

Код:
URL: php/connector.php?Command=GetFoldersAndFiles&Type=File&CurrentFolder=/&ServerPath=/docs/

This XML file does not appear to have any style information associated with it. The document tree is shown below.
<Connector command="GetFoldersAndFiles" resourceType="File"><CurrentFolder path="/" url="/docs/File/"/><Folders/><Files><File name="test" size="0"/><File name="test.htm" size="1"/><File name="test(1).htm" size="1"/><File name="test.txt" size="0"/><File name="test(2).htm" size="1"/></Files></Connector>
Файлы льются любые, но при попытке обратиться к ним из строки браузера - Not found. А вот из файлового менеджена они видны.

Да и при обращении через менаджер к папке /htdocs/docs/ (разумеется добавляется к пути file) и к /docs/ - содержание папок оказывается разным. Т.е. что это разные папки вообще.
Я как понимаю, обращение к серваку состоит из пути к серваку (/host/www.example.com/htdocs/) + что мы укажем в ServerPath (/htdocs/docs/ или /docs/) + Media/file/Image и др. + CurrentPath.
У меня мысли только что /host/www.example.com/htdocs/htdocs/docs/file/ и папка /host/www.example.com/htdocs/docs/file/ только так получается, что они разные((

Вопросы: как мне найти через браузер эти файлы?
Сервак я уже облазил вдоль и поперек. Файлов как будто нет или они почему-то не доступны из инета(
Файлы заливаются любые с любым расширением. Папки создаются (разумеется только в Serverpath + /htdocs/docs/file/ и /docs/file/)

Поэтому я залил
Код:
.htaccess
с содержанием:

Код:
Satisfy any
order allow,deny
allow from all
Но результат все один и тот же. ФИГА((

Прошу что-нибудь посоветовать. Возможно у кого-нибудь есть опыт. ^0^
intersecure3207 вне форума   Ответить с цитированием
Старый 05.04.2012, 20:21   #2
ont
 
Аватар для ont
 
Регистрация: 16.12.2010
Сообщений: 57
Репутация: 92
По умолчанию

Как fckeditor составляет путь (на примере пути из ошибки):
Код:
                                             _____ controllable
                                            /
                                           /
                               +----------------------+
                               |                      |
/hosting/www.example.com/htdocs/UserFiles/File/test.htm
|                              |         |
+------- GetRootPath() --------+         |
|                                        |
+----------- UserFilesDirectory ---------+
GetRootPath() -- возвращает путь до корня сайта.
$_GLOBALS['UserFilesDirectory'] -- папка доступная на запись (с точки зрения fckeditor)

Теперь как мы можем управлять controllable:
Код:
          ______________ $_GET['ServerPath'] or 'UserFiles'
         /
    |---------|
..../UserFiles/File/test.htm
              |----|
                 \______ $_GET['Type']
$_GET['ServerPath'] -- если не выставлен, то будет 'UserFiles'
$_GET['Type'] -- категория файла

controllable будет создан, если путь не существует (функция CreateServerFolder).

Дальше ничего из твоего поста не понял, что-то все очень смутно... Как мне кажется, ремаппинг url'а
в путь идет следующим образом (это также подтверждается путем fckeditor в ошибке):
Код:
http://www.example.com/xxxxx_some_path_here_xxxxx
                                    ^
                                    v
/host/www.example.com/htdocs/xxxxx_some_path_here_xxxxx
Если $_GET['Type'] == "File", а $_GET['ServerPath'] == "docs", то искать нужно в
Код:
http://www.example.com/docs/File/name_of_file.ext
P.S. может быть case-sensitive

Последний раз редактировалось ont; 05.04.2012 в 20:24..
ont вне форума   Ответить с цитированием
Старый 05.04.2012, 20:35   #3
intersecure3207
 
Регистрация: 10.02.2012
Сообщений: 10
Репутация: 0
По умолчанию

Вы гений. Все о чем я забыл - это регистр. Я уже сам перерыл всю литературу и т.д. До меня не дошло только одно - это регистр.

Вот самое главное: "P.S. может быть case-sensitive".
intersecure3207 вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход



Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot