Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Добавление в базу данных.


Автор: AttentiONlll 2.7.2010, 20:39
Добрый день!
Имеется таблица, в которую я вношу поля path (путь к каталогу или файлу), ch_date (дата последней модификации файла), file (содержимое файла) и type (тип: файл или каталог).

Код

$query = "insert into files (path, ch_date, file, type) VALUES ('".realpath($file)."','".date("Y-m-d H:i:s", filemtime($file))."','".$text."','F')" or die(mysql_error());
$result = mysql_query($query);


В скрипте производится рекурсивный обход всех каталогов и файлов, все нормально добавляется, включая вновь созданные или переименованные файлы и папки, но возникает проблема с добавлением информации о файле, который содержит скрипт. Соседние (лежащие в той же папке) файлы добавляются нормально. Пробовала переименовать этот файл, результата никакого.

Может быть кто-нибудь сможет мне подсказать, как решить эту проблему? Буду очень благодарна!

Автор: bars80080 2.7.2010, 23:33
какая проблема? файл не записывается, не вставляется? какие ошибки пишет?
и какой скрипт? любой скрипт или какой-то особенный?

Автор: AttentiONlll 3.7.2010, 05:58
Вопрос решен.
Было так:
Код

//считываю файл
$text = file_get_contents("$file");
//перевожу в читаемый вид
$text = htmlspecialchars($text); 

а нужно было так:
Код

 $text = file_get_contents("$file");
 $text = mysql_real_escape_string(htmlspecialchars($text)); 


Переделала, стало работать smile


Автор: bars80080 3.7.2010, 09:54
Цитата(AttentiONlll @  3.7.2010,  05:58 Найти цитируемый пост)
htmlspecialchars($text); 

а зачем это? вы ведь данные в базу вставляете

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