Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Насколько целесообразно?
 
 автор: Bvz   (29.10.2010 в 09:40)   письмо автору
 
 

Допустим есть в папке ряд файлов со скриптами, насколько правильно подключать из таким способом?


<?php
 
if (require_once("module/".$module.".php")); 
else
 {
CallFunction();
}
?>


т.е. смысл в том, если такой файл есть, то он подключается, если нет, то вызывается функция CallFunction, переменная $module берется из БД, т.е.

  Ответить  
 
 автор: psychomc   (29.10.2010 в 10:17)   письмо автору
 
   для: Bvz   (29.10.2010 в 09:40)
 

не правильно.
правильно так

<?php
if (file_exists("module/".$module.".php")) {
  require_once 
"module/".$module.".php";
} else {
  
CallFunction(); 
}

  Ответить  
 
 автор: Bvz   (29.10.2010 в 10:36)   письмо автору
 
   для: psychomc   (29.10.2010 в 10:17)
 

точно, спасибо!

  Ответить  
 
 автор: sim5   (29.10.2010 в 12:25)   письмо автору
 
   для: Bvz   (29.10.2010 в 09:40)
 

Если "переменная $module берется из БД", то зачем проверять наличие скрипта на диске? Или вы по принципу "кашу маслом не испортишь", и прописали несуществующее в базе?

  Ответить  
 
 автор: Bvz   (29.10.2010 в 14:10)   письмо автору
 
   для: sim5   (29.10.2010 в 12:25)
 

идет перебор таблиц в БД, если такая таблица существует ищется одноименный файл, который подключается, если существует иначе выполняется функция.

  Ответить  
 
 автор: sim5   (29.10.2010 в 14:28)   письмо автору
 
   для: Bvz   (29.10.2010 в 14:10)
 

Да что угодно перебирайте, хоть таблицы, хоть что, вот только коли не существует того или иного, зачем об этом должна быть запись?

  Ответить  
 
 автор: Bvz   (29.10.2010 в 14:31)   письмо автору
 
   для: sim5   (29.10.2010 в 14:28)
 

мне не понятно что вы хотите сказать

  Ответить  
 
 автор: sim5   (29.10.2010 в 14:50)   письмо автору
 
   для: Bvz   (29.10.2010 в 14:31)
 

Если в моем амбаре лежат вещи и я веду их учет, то я всегда буду удалять запись из книги учета о валенках, если эти валенки кому-то отданы. И если мне нужно проверить, если ли в моем амбаре валенки, то я загляну в книгу учета и все, а заглядывать еще в амбар для этого нет ни какой необходимости.
Если у вас модули, пусть вы сканируете базу дабы узнать о них, но почему требуется еще узнавать о существовании файлов этого модуля? Это что за модуль такой? Коли он у вас числится, но не полный, то зачем он у вас упоминается? А если вы таким образом помещаете информацию о недоработанных модулях в базу свою, то достаточно просто отмечать - подключен модуль или нет, а не заниматься файловыми операциями. Но коли он подключен, то это не должно вызывать даже сомнений, что у модуля все его файлы на месте.

  Ответить  
 
 автор: Bvz   (29.10.2010 в 15:07)   письмо автору
 
   для: sim5   (29.10.2010 в 14:50)
 

Спасибо, это упростило и сократило мне работу! Пошел переделывать и оптимизировать!

  Ответить  
 
 автор: Bvz   (03.11.2010 в 14:21)   письмо автору
 
   для: Bvz   (29.10.2010 в 15:07)
 

то sim5 и все-таки, если по каким-то причинам нужного файла не оказалось, а обращение пошло, то как корректнее проверить и выдать сообщение об ошибке, ведь если ситемную выдать, то получиться не очень корректно и красиво :) ?

  Ответить  
 
 автор: sim5   (03.11.2010 в 14:38)   письмо автору
 
   для: Bvz   (03.11.2010 в 14:21)
 

По каким причинам у вас может не оказаться файла модуля? И почему только файлы модуля проверять, а что вы не все поголовно проверяете?

  Ответить  
 
 автор: Bvz   (03.11.2010 в 14:40)   письмо автору
 
   для: sim5   (03.11.2010 в 14:38)
 

ну хорошо для проверки любого файла?

  Ответить  
 
 автор: sim5   (03.11.2010 в 14:42)   письмо автору
 
   для: Bvz   (03.11.2010 в 14:40)
 

file_exists
Берегите файлы (и кабели питания), а не занимайтесь лишними операциями.

  Ответить  
 
 автор: Bvz   (03.11.2010 в 17:58)   письмо автору
 
   для: sim5   (03.11.2010 в 14:42)
 

>Берегите файлы (и кабели питания), а не занимайтесь лишними операциями.

что вы имели ввиду?

  Ответить  
 
 автор: sim5   (03.11.2010 в 18:02)   письмо автору
 
   для: Bvz   (03.11.2010 в 17:58)
 

Уже ничего.

  Ответить  
 
 автор: neadekvat   (03.11.2010 в 21:55)   письмо автору
 
   для: Bvz   (03.11.2010 в 14:21)
 

Смотреть логи и дать по шее тому, кто просто так удаляет директории и файлы с рабочей копии сайта.
А куча проверок file_exists вам таки дорого обойдется.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования