Всем привет.
У меня проблема: не могу прочитать данные из файла XLS (MS Excel). Читаю при помощи библиотеки "PHPExcelReader", которая использует oleread.php.
Сам файл читается отлично, я могу вывести его содержимое в двоичном формате. А проблема происходит на этапе проверки заголовка. Если посмотреть содержимое oleread.php, можно увидеть такую штуку:
Здесь в константе IDENTIFIER_OLE сохраняется значение валидного заголовка, а затем в условии оно сравнивается с заголовком читаемого файла (первые 9 символов, записанные в $this->data).
Еще есть одна фишка: если сравнить значение этой константы и первых 9 символов файла в HEX-редакторе, они совпадают.
Условие убрать можно, но это приведет только к аварийному завершению работы скрипта.
Фигня какая-то получается, в общем. :)
Кто-нибудь с подобной проблемой сталкивался? Буду благодарен за помощь.
У меня проблема: не могу прочитать данные из файла XLS (MS Excel). Читаю при помощи библиотеки "PHPExcelReader", которая использует oleread.php.
Сам файл читается отлично, я могу вывести его содержимое в двоичном формате. А проблема происходит на этапе проверки заголовка. Если посмотреть содержимое oleread.php, можно увидеть такую штуку:
Код |
---|
define('IDENTIFIER_OLE', pack("CCCCCCCC",0xd0,0xcf,0x11,0xe0,0xa1,0xb1,0x1a,0xe1)); ... if (substr($this->data, 0, 8) != IDENTIFIER_OLE) { $this->error = 1; return false; } |
Здесь в константе IDENTIFIER_OLE сохраняется значение валидного заголовка, а затем в условии оно сравнивается с заголовком читаемого файла (первые 9 символов, записанные в $this->data).
Еще есть одна фишка: если сравнить значение этой константы и первых 9 символов файла в HEX-редакторе, они совпадают.
Условие убрать можно, но это приведет только к аварийному завершению работы скрипта.
Фигня какая-то получается, в общем. :)
Кто-нибудь с подобной проблемой сталкивался? Буду благодарен за помощь.