| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Допустим ли запуск .exe файлов через РНР |
| Автор: ТРЕТЬ 24.11.2006, 02:26 | ||||||
| На самом деле, задача стоит такая - есть файл Microsoft Access (*.mdb). Надо его содержимое перегнать в MySQL... Честно утюжил поисковики в течении 4 часов, да только не нашел библиотеки для РНР, которая бы дала возможность нормально считывать этот файл... Тем не менее, нарвался на интересную утилитку - http://www.rsdn.ru/article/files/progs/BatchAccess.xml В чем её смысл? А в том, что её можно вызвать вот таким образом
и получить из фалика .mdb что-то вроде
в файле structure.sql... Первый же взгляд на файл делает ясным, что из этого уже лепить таблицу в MySQL можно с большой легкостью... Только вот есть одна загвоздка... Точнее две... Хотя, нет, три... По порядку... 1) Может ли РНР запустить какой-либо ярлык с параметрами? (уверен, что может, но абсолютно не в курсе как это делается...) 2) Разрешают ли хостинговые компании, чтобы на их хосте РНР скрипты запускали какие-либо приложения? (ну совсем не ориентируюсь в вопросе) 3)А вообще, выполнится ли это приложение на *NIX сервере? (вот описачка от разрабов)
(Впринципе, если это вообще возможно, то можно будет попросить хостеров установить какие-либо компоненты... Но если это невозможно вообще на *NIX сервере, то придется что-то еще думать) Кстати, если вы на вскидку можете предложить лучший вариант разрешения проблеммы, буду рад его "услышать"... |
| Автор: cnill 24.11.2006, 04:22 |
| Приложение не запустится под nix, и вообще неудачное решение. ps: "Ярлык с параметрами" это что-то интересное:-) |
| Автор: BossIT 24.11.2006, 05:45 | ||||||
Нет, иначе это отобразиться на безопастности. Но по теме твоего вопроса: http://www.labnit.ru/forum/index.php?id_forum=1&id_theme=20
Вряд ли |
| Автор: maykoff 24.11.2006, 10:01 |
| запускаться бинарь из php может компании обычно этого не разрешают, но если это нужно - можно попробовать договориться, доказав им необходимость и безопасность (мы иногда запускаем) , и дав денег, разумеется (не бесплатный хостинг!) по поводу возможности использования .NET на никсах - простите, не слыхал (и не один я), так что эту затею лучше оставить вариант - проделать всё это на виндовой тачке, перегнав базу в какой-нибудь вид, который вы сможете после прочесть, xml, txt , да мало ли... может, просто дамп сделать с базы, и прочесть его в мускль, возможно, минимально подправив... |
| Автор: ТРЕТЬ 24.11.2006, 11:33 | ||
|
| Автор: ТРЕТЬ 24.11.2006, 12:05 |
| Но все-таки, по поводу решения проблеммы... Тут ведь дело в том, что задача не в том, чтобы один раз перекатать себе какую-то базу, а сделать так, чтобы на сайт можно было закачать .mdb файл, и его содержимое отправилось в MySQL... Впринципе, сейчас сижу и думаю сделать так - пусть они прогоняют сами .mdb файл через BatchAccess, и отправляют на сервер уже .sql файлы... А там они будут обрабатываться нужным образом - так что превратятся в чистые файлы дампа MySQL, из которых уже можно и "востановить" базу... Тут вот еще вопрос возник... А вообще, может ли РНР работать с .mdb файлами? (Всмысле без использования дополнительных программ) Просто сейчас подумал: "я искал в гугле в течении 6 часов, но все, что нашлось связанного с .mdb представляло из себя не набор скриптов РНР и библиотек к ним, но вполне завершенные программы, которые разрабы пытаются продать за 50-1000 уе в зависимости от функциональности и реализации"... Интересное еще предложение попалось - вот, мол, скрипт, платите и пользуйтесь. Первое время не понял в чем прикол - вот лежит полный текст скрипта, инклуды все к нему тоже есть, с чего еще платить? Оказалось просто что скрипт высылает файлики офиса на сервер компании, а оттуда уже возращаются файлы, куда более подходящие для работы с ними в РНР... Наговорил конечно... Прорвало... Короче, что вы думаете, можно ли в РНР работать с .mdb как с файлом? |
| Автор: nzeemin 24.11.2006, 14:22 |
| Даже если бы BatchAccess мог работать под *NIX (это, в принципе, возможно - нужно взять его исходники, они доступны, они на C#, можно скомпилировать и отладить под mono), это ничем не поможет. Для работы с .MDB нужен Microsoft Jet Driver 4.0, который есть только под Windows. Если под *NIX нет сторонних библиотек, работающих с .MDB, то значит, под *NIX с этим форматом невозможно работать вовсе. |