Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

Народное голосование ПРЕМИИ РУНЕТА-2007!
Голосуем за RusFAQ.ru >>

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 820
от 23.11.2007, 14:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 451, Экспертов: 54
В номере:Вопросов: 1, Ответов: 2


Вопрос № 109982: Здрасти всем. У меня есть документ word-а (или excel) определенной структуры, могу ли я используя PHP его прочитать его и записать сразу в БД. т.е. мне нужно что бы моя БД заполнялась автоматически и полльзователь не вводил ни каких данных....

Вопрос № 109.982
Здрасти всем.
У меня есть документ word-а (или excel) определенной структуры, могу ли я используя PHP его прочитать его и записать сразу в БД. т.е. мне нужно что бы моя БД заполнялась автоматически и полльзователь не вводил ни каких данных.
Отправлен: 18.11.2007, 13:51
Вопрос задала: KInika (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: RussianGM
Здравствуйте, KInika!
Я бы вам по советовал использовать файл расширения .csv (близкое к excel).
Тогда можно использовать такую конструкцию:
<?php

$p=@mysql_connect($dbhost,$dbuser,$dbpas); //соединяемся с хостом нашей базы
if(!$p){ echo "не возможно соединиться с базой";} // если не соединились то выводим сообщение
mysql_select_db($dbname, $p); //выбираем нашу базу данных
mysql_query("set names cp1251"); //устанавливаем кодировку для корректной работы с русским языком

$file = fopen ("text.csv","r"); //открываем наш файл "text.csv" в режиме чтения "r"
while ($dat = fgetcsv ($file,20000, " ")) //структура fgetcsv() : читаем из нашего открытого файла "$file",
//20000 - число читаемых символов, цифра должна быть больше чем количество символов в самой длинной строке нашего файла,
//3 параметр - символ разделителя слов, в данном случае табуляция(Tab)
//за один проход цикла считывается 1 строка

{
$d="insert into my_table values('$dat[0]','$dat[1]','$dat[2]')"; //создаем запрос для нашей базы

if (mysql_query($d)) echo "Успешно добавлено"; //если запрос выполнен выводим сообщение

}

mysql_close($p);
fclose($file);
//закрываем соединение с нашей базой и text.csv

?>

P.S. Самый простой способ пулучить файл .csv - это переименовать файл.txt в файл.csv
Удачи.
Ответ отправил: RussianGM (статус: Посетитель)
Ответ отправлен: 18.11.2007, 15:37

Отвечает: Товарищ Бородин
Здравствуйте, KInika!
В пакете PEAR есть класс для работы с Экселевскими файлами(насчет того, что он сможет прочитать вордовские файлы, я не уверен). Он позволяет выдирать оттуда информацию, соответственно, информацией можно как-то оперировать, в том числе и записать в БД. В документации к PEAR Вы сможете найти более точную информацию. Сам я PEAR`ом никогда не пользовался (и, наверно, не буду, ибо ругают его очень сильно).

Поэтому ответ на Ваш вопрос - да. Но сначала надо провести детальную разведку в этой части, Вы ведь не сказали, что имеется под определенной структурой.
---------
Ничто не сближает людей так, как совместное преступление.
Ответ отправил: Товарищ Бородин (статус: Студент)
Ответ отправлен: 18.11.2007, 16:39
Оценка за ответ: 5
Комментарий оценки:
Спасибо, я не знала что есть такой класс, но идеальным для меня был бы вариант работы с документами word.
Но и с Экселевскими файлами может когда нибудь придется работать.


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.63 от 22.11.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное