Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Проблемы с PHPExcelReader


Автор: LEX555 1.4.2010, 13:54
Проблема заключается в следующем: есть файлик xls достаточно большой надо его перегнать в mySQL. Почитал, поглядел кругом советуют сначала в csv перевести. А мне надо это сделать программно!!! Нашел вроде по слухам крутое решение PHPExcelReader. Но с ним у меня проблемы. Я уже по советам и файл запихал в ту же папку и подправил файл reader.php выдает одну и ту же ошибку The filename bla-bla.xls is not readable. Ну я понимаю когда мои файлы,но он даже тестовый не читает. У кого какие мысли по этому поводу, подскажите плиз??

Автор: skyboy 1.4.2010, 14:25
Цитата(LEX555 @  1.4.2010,  12:54 Найти цитируемый пост)
The filename bla-bla.xls is not readable

прав нет.
какая ОС? если *nix - почитай про chmod.

Автор: LEX555 1.4.2010, 14:29
ОС Windows

Добавлено через 50 секунд
откуда их взять если не секрет?

Автор: LEX555 1.4.2010, 14:51
Права и так админские куда уж больше?

Автор: skyboy 1.4.2010, 15:19
на каждый файл можно раздать права доступа, если используется файловая система NTFS.
свойства - закладка "безопасность".
впрочем, в твоем случае, может статья, дело не в правах, а в safe mode PHPшном. Или ещё в чем.
Другие скрипты, которые работают с файлами, не вызывают проблем?

Автор: LEX555 1.4.2010, 15:29
нет с другими проблем нет

Автор: LEX555 1.4.2010, 16:39
Вроде все проверил,все так!

Автор: LEX555 1.4.2010, 18:16
В csv формат пытался сохранить с помощью COM объектов сохраняет очень коряво!!! Может еще кто-что подскажет?

Автор: LEX555 4.4.2010, 11:12
Всем спасибо всем, кто пытался помочь!!! разобрался с phpExcelReader- проблема была в кодировках надо было заменить строку "substr($this->data, 0, 8) != IDENTIFIER_OLE" на "mb_substr($this->data, 0, 8, 'windows-1251') != IDENTIFIER_OLE" ну а в дальнейшем где скрипт будет "ругаться" заменить substr на mb_substr и в скобках добавить в конец 'windows-1251'. Может кому понадобится...

Автор: ksnk 4.4.2010, 11:38
Цитата(LEX555 @  1.4.2010,  14:29 Найти цитируемый пост)
ОС Windows

Эффективнее и проще все это было на встроенном Басике написать. imho...
Запускать из web-приложения Excel с автоматическим запуском макры... Должен стоять драйвер системный от mySql'я. 
Вроде все.

Хотя для настояших серверных условий - phpExcelReader - будет правильнее.

Автор: phpmonkey 20.10.2011, 01:35
Цитата
The filename bla-bla.xls is not readable


Неожиданно столкнулся с такой же проблемой, раньше все работало и вдруг перестало.

Решилось отключением в php.ini опции mbstring.internal_encoding = UTF-8, установки которой требует битрикс.

Цитата
заменить строку "substr($this->data, 0, 8) != IDENTIFIER_OLE" на "mb_substr($this->data, 0, 8, 'windows-1251')


Спасибо за информацию, это помогло быстрее найти решение

ps: вдруг кому-то будет полезно, в интернете практически ничего нет по этой теме для случая, когда файл существует и права на него установлены верно.

Автор: sergamers 22.8.2014, 08:39
Большое спасибо.
Цитата

The filename .xls is not readable

Столкнулся с данной проблемой на серве где установлен битрикс. Все переворошил. Наткнулся на статью и сразу стало понятно.
Так как сайт на хосте не один, то пришлось заняться правкой в библиотеке, а не в php.ini
Цитата

заменил строку "substr($this->data, 0, 8) != IDENTIFIER_OLE" на "mb_substr($this->data, 0, 8, 'windows-1251')

А так  же 
Цитата

заменил все substr на mb_substr и в скобках добавил в конец 'windows-1251'

 smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)