Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Ошибка при подключении файла


Автор: netmask 29.8.2009, 18:36
Вот класс:
Код

class View {

    static function displayDefault() {
                 $query="SELECT * FROM category";
                 $news=mysql_query($query);
                 if ($news) {
                     while ($new_arr=mysql_fetch_array($news)) {
                          $id=$new_arr['id_category'];
                          $category[$id]=$new_arr['name'];
                      }
                 }
                 else echo "Error";
                 $smarty=new MySmarty;
                 $smarty->caching = false;
                 $smarty->assign('cat', $category);

                 require("../fckeditor/fckeditor.php");

                $oFCKeditor = new FCKeditor('FCKeditor1') ;
        $oFCKeditor->BasePath = '/fckeditor/' ;
        $oFCKeditor->Value = '<p>Текст, который будет в поле редактора по умолчанию.</p>' ;
        $oFCKeditor->Create() ;

               $tpl->assign("data", $oFCKeditor->CreateHtml()) ;

               $smarty->display('index.tpl');
    }
}


Пытаюсь подключить FCKEditor. Выдает вот такие ошибки.

Код

Warning: View::require(../fckeditor/fckeditor.php) [function.View-require]: failed to open stream: No such file or directory in Z:\home\modul_news\www\admin\class\index.php on line 78

Fatal error: View::require() [function.require]: Failed opening required '../fckeditor/fckeditor.php' (include_path='.;/usr/local/php5/PEAR') in Z:\home\modul_news\www\admin\class\index.php on line 78


Подскажите пожалуйста с чем это может быть связано.

Автор: SneG0K 29.8.2009, 18:58
С тем, что пути не правильные.

Автор: nerezus 29.8.2009, 18:59
http://translate.google.com/

А вообще хороший программист обязан знать английский и если ты хочешь быть программистом, то придется выучить.

Автор: netmask 29.8.2009, 19:03
Я прописываю абсолютный путь и все равно такая проблема...

Автор: fesor 29.8.2009, 19:17
обсалютно чему ты его прописываешь?) ты проверь что за путь к файлу ты вписал.

Автор: SneG0K 29.8.2009, 19:22
Ммм... openbasedir - ?

Автор: netmask 29.8.2009, 19:24
Код

 require_once("http://modul_news/admin/fckeditor/fckeditor.php");


Вот. проверил несколько раз. Путь правильный.


Автор: fesor 29.8.2009, 19:30
мухохо)) Имеется в виду путь в файловой системе относительного того файла который его загружает.

Автор: netmask 29.8.2009, 19:33
Вот структура:

admin
-fckeditor
--fckeditor.php

class
-index.php

index.php - здесь инклудится файл с классом.

Автор: skyboy 29.8.2009, 19:36
должен быть указан http://web.archive.org/web/20071014005654/phpfaq.ru/paths, а не url.

Автор: netmask 29.8.2009, 19:53
Спасибо. помогло. Указал путь файловой в файловой системе. Появился вопрос. Значит надо всегда использовать путь в файловой системе, а не url? 

Автор: skyboy 29.8.2009, 20:38
да.
даже, если http://us.php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen будет установлен, то подключение PHP скрипта через URL подключит не PHP-код. Будет HTTP-запрос, мало чем отличающийся от запроса браузера, и PHP скрипт будет интерпретирован(выполнен) сервером. и будет возвращен/подключен сформированный HTML-код. Тебе ж нужен PHP, а не HTML, верно?

Автор: netmask 29.8.2009, 20:54
Все понятно. Спасибо большое.

Автор: nerezus 29.8.2009, 21:16
Цитата

даже, если
 Так говоришь, как будто это редко или плохо.

Автор: SneG0K 29.8.2009, 21:41
Цитата(nerezus @  29.8.2009,  20:16 Найти цитируемый пост)
это редко или плохо

лучше вообще запретить все нафик, чтоб только курл работал.

Автор: nerezus 30.8.2009, 03:33
SneG0K, и? Чтобы вместо 1 строки писать 5? Это бессмысленное усложнение, а значит плохо.

Запомни вот правило, пригодится в жизни: "Если что-то не нужно тебе, это еще не значит, что оно не нужно никому."

Автор: SneG0K 30.8.2009, 16:21
nerezus, И? лучше в целях безопасности запретить все нафиг, тогда ты будешь уверен, что удаленные ресурсы открываются только по твоему замыслу. И еще лучше не использовать open_base_dir, ибо чтоб злобный скрипт не смог вылезть за пределы папки, в которйо он находится. Иногда это спасает от криворукости.

Автор: nerezus 30.8.2009, 16:33
SneG0K, приведи пример наличия такой ошибки в качественном коде.
Т.е. чтобы код был нормально спроектирован, а человек чисто случайно(человеческий фактор) допустил такую ошибку.
Иначе считаю твое утверждение голословным.

Автор: IZ@TOP 30.8.2009, 17:18

M
IZ@TOP
Уважаемые Участники Форума, давайте выяснять отношения и вопросы не относящиеся к теме в личке.

Автор: Ипатьев 30.8.2009, 17:43
тут есть важная деталь.
курл не исполняет код. 
так что вопрос-то на самом деле в allow_url_include, а не в allow_url_fopen
так что не ссорьтесь, горячие финские парни. вызов курл тоже можно в одну строчку завернуть 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)