Решение ошибки Uninitialized string offset в Excel Spreadsheet Reader
Главная → Статьи → Ошибка Uninitialized string offset в Excel Spreadsheet Reader
Часто встречается с переездом с 32-разрядной системы на 64-разрядную следующая ошибка: Notice: Uninitialized string offset: 2199023255040 в spreadsheet_excel_reader.php или oleread.inc. Чтобы ее исправить, нужно заменить существующую функцию GetInt4d($data, $pos) на следующую:
function GetInt4d($data, $pos) { // x64 if (PHP_INT_SIZE == 8) { $_or_24 = ord($data[$pos+3]); if ($_or_24>=128) $_ord_24 = -abs((256-$_or_24) << 24); else $_ord_24 = ($_or_24&127) << 24; return ord($data[$pos]) | (ord($data[$pos+1]) << 8) | (ord($data[$pos+2]) << 16) | $_ord_24; } else { // x86 return ord($data[$pos]) | (ord($data[$pos+1]) << 8) | (ord($data[$pos+2]) << 16) | (ord($data[$pos+3]) << 24); } }
Реклама:
Комментарии:
ayoke:
работает, спасибо!
Иван:
Большое спасибо. Дома работало, на сервере нет. Нашел ошибку в цикле по блокам, но причину понять не мог. Заметка очень помогла. Все заработало.
alexandr:
спасибо, решение помогло!
имя:
e-mail (не публикуется):
комментарий:
e-mail (не публикуется):
комментарий: