PHP, Excel и винда

12
Николай Письменный
На сайте с 15.06.2009
Offline
223
1167

Есть Excel (хотя наверное пофигу что) файлы открытые в том же excele(возможно открытые), их открывает PHP для парсинга, открывает только для чтения. Все это под виндой.

Корректно вообще считывать информацию из файлов таким макаром (когда они открыты в основной редактирующей проге)? Что будет если в экселе нажать сейв, а в этот момент PHP полезет читать инфу из него? Или это разные режимы(в случае пхп только для чтения) и все должно быть путем?

(так вроде бы все работает, но хотелось бы услышать кто такое вытворял, насколько это криво и будет ли вылетать?)

Раскрываю все секреты интернет маркетинга на конкретном кейсе (http://ampersant.ru/spravedlivost/): от создания сайта, до итогового результата проекта через год (http://ampersant.ru/spravedlivost/#god). Готовая инструкция как правильно сделать и раскрутить сайт!
Ваано
На сайте с 01.08.2009
Offline
112
#1

Путанно описано - жуть.

Отвечу на вопросы:

"насколько это криво" - криво, достаточно криво

"будет ли вылетать" - это как повезет

Вообще если ПХП для парсинга блокирует файл, то открыть его по идее можно только для чтения.

Туры в Мексику тут (http://www.metmexico.com). Оптимальное отношение цена/качество.
Николай Письменный
На сайте с 15.06.2009
Offline
223
#2
Ваано:
Путанно описано - жуть.
"насколько это криво" - криво, достаточно криво

Ну вот и мне кажется что это кривовато. А что делать, если нужно екселе-подобную базу периодически парсить и куски кидать в MySQL? есть какие-нить менее кривые решения.

Ваано:

Вообще если ПХП для парсинга блокирует файл, то открыть его по идее можно только для чтения.

А что значит блокирует? В винде такое есть? ПХП это делает в режиме fopen r ?

T.R.O.N
На сайте с 18.05.2004
Offline
314
#3

nikola32,

1. Что мешает сделать копию файла, которую уже и "мучать" из пхп?

2. Вы парсите файл как файл или как объект (через ole/dde)?

От воздержания пока никто не умер. Хотя никто и не родился! Prototype.js был написан теми, кто не знает JavaScript, для тех, кто не знает JavaScript (Richard Cornford)
Ваано
На сайте с 01.08.2009
Offline
112
#4
nikola32:
А что значит блокирует? В винде такое есть? ПХП это делает в режиме fopen r ?

Да, в винде есть блокирование файла. Как осуществляется открытие файла именно в вашем случае - я не знаю, вам видней :)

[Удален]
#5

Excel блокирует файлы автоматически когда он открыт. Т.е. их можно скопировать но нельзя прочитать в поток (отправить в аську, распарсить через пхп и т.д.)

Так что метод сомнительно что будет работать как надо. Если даже подключиться и удастся (например прочитав через file_get_contents), то изменения вы уже не отловите.

[Удален]
#6

капать в сторону работы с файлами WinAPI. MSDN в помощь ;)

[Удален]
#7

ну ваще если стоит задача распарсить екзель под виндой то логичней всего копать в сторону

new COM (Application.Excel)

T.R.O.N
На сайте с 18.05.2004
Offline
314
#8
neolord:
.е. их можно скопировать но нельзя прочитать в поток (отправить в аську, распарсить через пхп и т.д.)

можно. Вернее, я незнаю как именно пых работает с файлами, но файл прекрасно открывается на чтение любыми низкоуровневыми командами... д-да и обычным перловским open тоже. Может стоит парсеру передавать указатель а не файл....

Николай Письменный
На сайте с 15.06.2009
Offline
223
#9
T.R.O.N:
можно. Вернее, я незнаю как именно пых работает с файлами, но файл прекрасно открывается на чтение любыми низкоуровневыми командами... д-да и обычным перловским open тоже. Может стоит парсеру передавать указатель а не файл....

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

Всем спасибо за интересные ответы, буду думать дальше, как все переиграть по-красивше.

T.R.O.N
На сайте с 18.05.2004
Offline
314
#10
nikola32:
сохраняться и читаться одновременно)

это как????

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий