LINUX.ORG.RU

Class not found

 


0

1

Замучился, ЧЯДНТ ?

<?php
include_once("F:/EasyPHP-Devserver-16.1/eds-www/Logistics/SimpleExcel/SimpleExcel.php");
$excel = new SimpleExcel();
$excel->loadFile('testcsv.csv', 'CSV', array('delimiter' => ','));
print_r ($excel);
?>
Ошибка
Fatal error: Class 'SimpleExcel' not found in F:\EasyPHP-Devserver-16.1\eds-www\Logistics\simpleupload.php on line 4

по адресу лежит файл и в  нем 
class SimpleExcel
{
    /**
    * 
    * @var CSVParser | TSVParser | XMLParser | HTMLParser | JSONParser
    */
    public $parser;

    /**
    * 
    * @var CSVWriter | TSVWriter | XMLWriter | HTMLWriter | JSONWriter
    */
    public $writer;
    
    /**
    * 
    * @var array
    */    
    protected $validParserTypes = array('XML', 'CSV', 'TSV', 'HTML', 'JSON');
    protected $validWriterTypes = array('XML', 'CSV', 'TSV', 'HTML', 'JSON');
...


Спасибо за внимание )

Ответ на: комментарий от udhv

Инклудится по полному пути.
Ворнинга нет, значит файл находится по указанному пути.

theanonymous
()

Нэймспейсы используются?

Попробуй добавить обратный слеш перед именем класса:

$excel = new \SimpleExcel();

theanonymous
()
Ответ на: комментарий от udhv

как ниже написано с инклудом подключения проблем нет

Nevega
() автор топика
Ответ на: комментарий от theanonymous

Fatal error: Call to undefined method SimpleExcel\SimpleExcel::loadFile() in F:\EasyPHP-Devserver-16.1\eds-www\Logistics\simpleupload.php on line 5

теперь метод не определен (если сделать по анологии с классом )

$excel-> SimpleExcel\loadFile('testcsv.csv', 'CSV', array('delimiter' => ','));



то 
Parse error: syntax error, unexpected '\' (T_NS_SEPARATOR) in F:\EasyPHP-Devserver-16.1\eds-www\Logistics\simpleupload.php on line 5
Nevega
() автор топика

Ставим библиотеку

$ composer require faisalman/simple-excel-php

Правильно подключаем её и указываем нужные нам неймспейсы.

<?php
require_once 'vendor/autoload.php';

use SimpleExcel\SimpleExcel;
$excel = new SimpleExcel('xml');
...

И все работает!

Noob_Linux ★★★★
()
Ответ на: комментарий от Noob_Linux

Уфф сколько раз не пробовал, не взлетал композер у меня (((((( попробуем еще разок.

Nevega
() автор топика
Ответ на: комментарий от Noob_Linux

нет, не дурачок и не прикидываюсь.

Nevega
() автор топика
Ответ на: комментарий от no-such-file

если вы про кусок кода с классом, то это кусок выдернут (все <? там на месте), для подтверждения что такой класс действительно есть, вы ошиблись, не все так плохо.

Nevega
() автор топика
Ответ на: комментарий от Nevega

Ну тогда хз, у меня всё работает

<?php
//require "vendor/autoload.php";
require "vendor/faisalman/simple-excel-php/src/SimpleExcel/SimpleExcel.php";

$excel = new \SimpleExcel\SimpleExcel('CSV');
$excel->parser->loadFile('test.csv');

echo $excel->parser->getCell(1, 1) . PHP_EOL;

$excel->convertTo('JSON');
$excel->writer->addRow(array('add', 'another', 'row'));
$excel->writer->saveFile('example');


Видимо, у тебя какая-то кривая сборочка пхп
или не всё скопировал. Используй композер
и не знай проблем.

theanonymous
()
Ответ на: комментарий от Nevega

Call to undefined method SimpleExcel\SimpleExcel::loadFile()

Ну и всё правильно, там нет такого метода.

$excel->parser->loadFile('test.csv');

Вот человек тебе правильно пишет.

no-such-file ★★★★★
()
Последнее исправление: no-such-file (всего исправлений: 1)
Ответ на: комментарий от no-such-file

Всем спасибо, буду работать над ошибками.

Nevega
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.