|
|
|
| Допустим есть в папке ряд файлов со скриптами, насколько правильно подключать из таким способом?
<?php
if (require_once("module/".$module.".php"));
else
{
CallFunction();
}
?>
|
т.е. смысл в том, если такой файл есть, то он подключается, если нет, то вызывается функция CallFunction, переменная $module берется из БД, т.е. | |
|
|
|
|
|
|
|
для: Bvz
(29.10.2010 в 09:40)
| | не правильно.
правильно так
<?php
if (file_exists("module/".$module.".php")) {
require_once "module/".$module.".php";
} else {
CallFunction();
}
|
| |
|
|
|
|
|
|
|
для: psychomc
(29.10.2010 в 10:17)
| | точно, спасибо! | |
|
|
|
|
|
|
|
для: Bvz
(29.10.2010 в 09:40)
| | Если "переменная $module берется из БД", то зачем проверять наличие скрипта на диске? Или вы по принципу "кашу маслом не испортишь", и прописали несуществующее в базе? | |
|
|
|
|
|
|
|
для: sim5
(29.10.2010 в 12:25)
| | идет перебор таблиц в БД, если такая таблица существует ищется одноименный файл, который подключается, если существует иначе выполняется функция. | |
|
|
|
|
|
|
|
для: Bvz
(29.10.2010 в 14:10)
| | Да что угодно перебирайте, хоть таблицы, хоть что, вот только коли не существует того или иного, зачем об этом должна быть запись? | |
|
|
|
|
|
|
|
для: sim5
(29.10.2010 в 14:28)
| | мне не понятно что вы хотите сказать | |
|
|
|
|
|
|
|
для: Bvz
(29.10.2010 в 14:31)
| | Если в моем амбаре лежат вещи и я веду их учет, то я всегда буду удалять запись из книги учета о валенках, если эти валенки кому-то отданы. И если мне нужно проверить, если ли в моем амбаре валенки, то я загляну в книгу учета и все, а заглядывать еще в амбар для этого нет ни какой необходимости.
Если у вас модули, пусть вы сканируете базу дабы узнать о них, но почему требуется еще узнавать о существовании файлов этого модуля? Это что за модуль такой? Коли он у вас числится, но не полный, то зачем он у вас упоминается? А если вы таким образом помещаете информацию о недоработанных модулях в базу свою, то достаточно просто отмечать - подключен модуль или нет, а не заниматься файловыми операциями. Но коли он подключен, то это не должно вызывать даже сомнений, что у модуля все его файлы на месте. | |
|
|
|
|
|
|
|
для: sim5
(29.10.2010 в 14:50)
| | Спасибо, это упростило и сократило мне работу! Пошел переделывать и оптимизировать! | |
|
|
|
|
|
|
|
для: Bvz
(29.10.2010 в 15:07)
| | то sim5 и все-таки, если по каким-то причинам нужного файла не оказалось, а обращение пошло, то как корректнее проверить и выдать сообщение об ошибке, ведь если ситемную выдать, то получиться не очень корректно и красиво :) ? | |
|
|
|
|
|
|
|
для: Bvz
(03.11.2010 в 14:21)
| | По каким причинам у вас может не оказаться файла модуля? И почему только файлы модуля проверять, а что вы не все поголовно проверяете? | |
|
|
|
|
|
|
|
для: sim5
(03.11.2010 в 14:38)
| | ну хорошо для проверки любого файла? | |
|
|
|
|
|
|
|
для: Bvz
(03.11.2010 в 14:40)
| | file_exists
Берегите файлы (и кабели питания), а не занимайтесь лишними операциями. | |
|
|
|
|
|
|
|
для: sim5
(03.11.2010 в 14:42)
| | >Берегите файлы (и кабели питания), а не занимайтесь лишними операциями.
что вы имели ввиду? | |
|
|
|
|
|
|
|
для: Bvz
(03.11.2010 в 17:58)
| | Уже ничего. | |
|
|
|
|
|
|
|
для: Bvz
(03.11.2010 в 14:21)
| | Смотреть логи и дать по шее тому, кто просто так удаляет директории и файлы с рабочей копии сайта.
А куча проверок file_exists вам таки дорого обойдется. | |
|
|
|