Добрый день,
Редакция: Стандарт
1С-Битрикс: Управление сайтом 14.5.1.
похожая проблема и встречается.
Делаю загрузку файла .xls, выводится пустой массив. Для работы требуется mbstring.func_overload = 0, что не совсем удобно для Битрикса в UTF-8 и нельзя менять это. Большая часть функционала нужна для создания документа excel, а у меня задача только чтение.
Где-то читал, что проблема в кодировке надо было заменить строку "substr( $this->data, 0,8 ) != IDENTIFIER_OLE" на "mb_substr($this->data, 0, 8, 'windows-1251') != IDENTIFIER_OLE"
Вот мой код:
Почему print_r($reader); Возвращает пустой массив ?
Редакция: Стандарт
1С-Битрикс: Управление сайтом 14.5.1.
похожая проблема и встречается.
Делаю загрузку файла .xls, выводится пустой массив. Для работы требуется mbstring.func_overload = 0, что не совсем удобно для Битрикса в UTF-8 и нельзя менять это. Большая часть функционала нужна для создания документа excel, а у меня задача только чтение.
Где-то читал, что проблема в кодировке надо было заменить строку "substr( $this->data, 0,8 ) != IDENTIFIER_OLE" на "mb_substr($this->data, 0, 8, 'windows-1251') != IDENTIFIER_OLE"
Вот мой код:
| Код |
|---|
<fo rm method="post" enctype="multipart/form-data"> <input type="file" name="xls_file" /> <input type="submit" name="submit" value="Submit" /> </form> |
| Код |
|---|
<?php
if(isset($_POST['submit']))
{
$folder = "/xls_input/";
$doc = $folder.$_FILES["xls_file"]["name"];
$move = move_uploaded_file($_FILES["xls_file"]["tmp_name"], $doc);
require_once '/phpExcelReader/Excel/reader.php';
$reader = new Spreadsheet_Excel_Reader();
//$reader->setOutputEncoding('CP1251');
$reader->setUTFEncoder('mb');
$reader->read($doc);
echo $reader->dump(true,true);
print_r($reader);
}
?> |
Почему print_r($reader); Возвращает пустой массив ?
Если вам что-то по душе, то вы можете сделать это прибыльным занятием независимо от сферы вашей деятельности.