Срочно нужна помощь! Ошибка 1103 - Incorrect table name ''!

tend

Новичок
Срочно нужна помощь! Ошибка 1103 - Incorrect table name ''!

Всем привет!

Раньше инклудил файлы просто инклудом, что иногда вызывало ошибки в тех случаях, когда я обновлял сайт. То есть когда закачиваю новые файлы, старые удаляются, новых еще нет, поэтому возникали ошибки при инклуде еще не существующих файлов.
Сейчас решил сделать так: проверять файл на наличие и потом инклудить. А в случае его отсутствия сообщать, что в данный момент происходит обновление сайта.
В общем сделал. С теми файлами, в которых была только текстовая информация, вставляются нормально.
Но почему-то появилась ошибка 1103 (Incorrect table name '') в тех случаях, когда вставляется моим способом файл, в которых прописаны функции и переменные. Как будто переменных не видит.
Подскажите, плиз, в чем проблема? Понять никак не могу.
Спасибо!

-~{}~ 23.12.06 02:42:

Вроде что-то понял, только вот что именно не пойму. Прошу помочь доразобраться.
У меня инклуд работает через функцию:
function incf($file)
{
if (file_exists($file))
{ include($file); }
else
{ echo "Сейчас происходит обновление сайта..."; }
}

А вставляю вот так: incf("file.txt");
Так вот, если file.txt - это файл с функциями и переменными, тогда возникает ошибка.
Я вычислил методом тыка, что ошибка в том, что мой инклуд работает через функцию. Без функции работает нормально. А как сделать, чтобы и с функцией было все ОК?
 
Не работает, потому что внутри функции incf не описаны глобальные переменные, используемые в включаемых файлах. А что будет если версии файлов не совпадут - та же ошибка. Может не так уж и страшно если в течении нескольких минут сайт не будет доступен?
 

HraKK

Мудак
Команда форума
shtogrin
не страшно. А страшно если пару дней крышки люка не будет?



Не работает, потому что внутри функции incf не описаны глобальные переменные, используемые в включаемых файлах.
Мне кажется наоборот
file.txt - это файл с функциями и переменными
tend
Перед тем как использовать функции и этого файла из этого файла, либо сгрупируй в клас и верни указатель на него, либо успользуй GLOBAL
 

tend

Новичок
HraKK
я полный чайник и то, что ты сказал, даже не понял :)
если можно, чуточку поподробней... или где об этом можно почитать?
 

tend

Новичок
Ага. Вроде понял. Но через Global не подойдет - много переменных. Мне кажется, есть путь попроще.

HraKK
А что за класс и указатель? Это проще?
 

HraKK

Мудак
Команда форума
tend
Заключаешь свои переменные и функции в класс
class MyClass{
var $someVar=1;
var $someVar2=2;
function someFunc();
}
Потом в функции
include "file.php";
return & new MyClass();



Переписываешь
incf("file.txt");
На
$obj = incf("file.txt");

и потом используешь так
$obj->someFunc();
 
Сверху