Srs. Sou iniciante em PHP e gostaria que as respostas fossem bem detalhadas para que eu consiga executar.
Preciso importar um arquivo do excel para phpMyAdmin, o erro quando executo no browser é:
( ! ) Parse error: syntax error, unexpected '$path' (T_VARIABLE), expecting function (T_FUNCTION) in C:\wamp64\www\imp\ImportaPlanilha.class.php on line 25
Segue o código que estou executando: arquivo: ImportaPlanilha.class.php
<?php
ini_set('max_execution_time','-1');
require_once "SimpleXLSX.class.php";
class ImportaPlanilha{
// Atributo recebe a instância da conexão PDO
private $conexao = null;
// Atributo recebe uma instância da classe SimpleXLSX
private $planilha = null;
// Atributo recebe a quantidade de linhas da planilha
private $linhas = null;
// Atributo recebe a quantidade de colunas da planilha
private $colunas = null;
/*
* Método Construtor da classe
* @param $path - Caminho e nome da planilha do Excel xlsx
* @param $conexao - Instância da conexão PDO
*/
$path = (C:/wamp64/www/imp/cancelada.xlsx); // ERRO AQUI!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
$conexao = mysqli_connect("localhost","root","","import");
public function __construct($path=null, $conexao=null){
if(!empty($path) && file_exists($path)):
$this->planilha = new SimpleXLSX($path);
list($this->colunas, $this->linhas) = $this->planilha->dimension();
else:
echo 'Arquivo não encontrado!';
exit();
endif;
if(!empty($conexao)):
$this->conexao = $conexao;
else:
echo 'Conexão não informada!';
exit();
endif;
}
/*
* Método para ler os dados da planilha e inserir no banco de dados
* @return Valor Inteiro contendo a quantidade de linhas importadas
*/
public function insertDados(){
try{
$sql = 'INSERT INTO cancelada (
im,
cnpj_cpf,
razao_social,
nr_nota,
competencia,
cod_ativ,
desc_serv,
cod_serv,
local_prest,
cnpj_cpf_tomador,
razao_social_tomador,
tomador_estabelecido,
cidade_tomador,
motivo_cancelamento,
valor_faturado,
substituida)VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
$stm = $this->conexao->prepare($sql);
$linha = 0;
foreach($this->planilha->rows() as $chave => $valor):
if ($chave >= 1 ):
$im = trim($valor[0]);
$cnpj_cpf = trim($valor[1]);
$razao_social = trim($valor[2]);
$nr_nota = trim($valor[3]);
$competencia = trim($valor[4]);
$cod_ativ = trim($valor[5]);
$desc_serv = trim($valor[6]);
$cod_serv = trim($valor[7]);
$local_prest = trim($valor[8]);
$cnpj_cpf_tomador = trim($valor[9]);
$razao_social_tomador = trim($valor[10]);
$tomador_estabelecido = trim($valor[11]);
$cidade_tomador = trim($valor[12]);
$motivo_cancelamento = trim($valor[13]);
$valor_faturado = trim($valor[14]);
$substituida = trim($valor[15]);
$stm->bindValue(1, $im);
$stm->bindValue(2, $cnpj_cpf);
$stm->bindValue(3, $razao_social);
$stm->bindValue(4, $nr_nota);
$stm->bindValue(5, $competencia);
$stm->bindValue(6, $cod_ativ);
$stm->bindValue(7, $desc_serv);
$stm->bindValue(8, $cod_serv);
$stm->bindValue(9, $local_prest);
$stm->bindValue(10, $cnpj_cpf_tomador);
$stm->bindValue(11, $razao_social_tomador);
$stm->bindValue(12, $tomador_estabelecido);
$stm->bindValue(13, $cidade_tomador);
$stm->bindValue(14, $motivo_cancelamento);
$stm->bindValue(15, $valor_faturado);
$stm->bindValue(16, $substituida);
$retorno = $stm->execute();
if($retorno == true) $linha++;
endif;
endforeach;
return $linha;
}catch(Exception $erro){
echo 'Erro: ' . $erro->getMessage();
}
}
}