Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Notice: Undefined index: Boa noite pessoal, É o seguinte. Eu desenvolvi uma tela que indexa documentos PDF. Até aí tudo ok. O problema é que quando eu indexo um arquivo que não é permitido tipo uma ele dá o extension not allowed, porém quando eu indexo novamente um PDF ele me retona: Notice: Undefined index: nome da variável Peço desculpas se isto for algo fútil, mas é que não compreendi o por que d...
AC
Notice: Undefined index:  
Boa noite pessoal,

É o seguinte. Eu desenvolvi uma tela que indexa documentos PDF. Até aí tudo ok. O problema é que quando eu indexo um arquivo que não é permitido tipo uma ele dá o extension not allowed, porém quando eu indexo novamente um PDF ele me retona:

Notice: Undefined index: nome da variável

Peço desculpas se isto for algo fútil, mas é que não compreendi o por que deste comportamento.


Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (4)


NR

Não consegui simular. Em qual classe está acusando esse erro? Consegue postar o comando que ocasiona esse problema?
AC

É depois que eu indexo um arquivo não permitido pelo TFile. Por exemplo, na classe eu só posso indexar arquivos pdf. Aí quando eu tento indexar imagem png ele acusa que eu não posso indexar um arquivo de extensão não permitida. Até aí beleza, só que quando eu tento indexar um pdf novamente ele informa esse erro e diz que a variável TFile (no meu caso documento_pdf) não está definida e retorna null.

Vou postar a parte do código

$documento_pdf = new TFile('documento_pdf');
$documento_pdf->setService('SystemDocumentUploaderService');
$documento_pdf->setCompleteAction(new TAction(array($this, 'onIndexaArquivo')));
$documento_pdf->setSize('75%');

$documento_pdf->enableFileHandling();


public static function onIndexaArquivo($param){

$filename = json_decode(urldecode($param['documento_pdf']));
$sourceFile = $filename->fileName;

$ext = pathinfo($sourceFile, PATHINFO_EXTENSION);

$data = new stdClass;

$diretorio = __DIR__ . DIRECTORY_SEPARATOR . "..\..\..\";

$pagecount = WebService::getPDFPages($diretorio, $sourceFile);
$data->pag_arquivo = $pagecount;
TForm::sendData('form_ConsultaDocumentos', $data);
}
AC

Notice: Undefined index: documento_pdf in ConsultaDocumentosForm.class.php on line 138

Notice: Trying to get property 'fileName' of non-object in ConsultaDocumentosForm.class.php on line 139
AC

Consegui resolver esse problema. Quando é indexado um arquivo que não está na lista de permitidos , é como se ele limpasse o parâmetro referente e quando tenta indexar novamente sem um refresh de página ele retorna o param em questão em branco, porém gera um outro contendo fakepath e nome do arquivo. Não sei se a explicação está boa, mas resolvi o problema assim.

if(isset($param['documento_pdf']) && strlen(trim($param['documento_pdf']))){
$filename = json_decode(urldecode($param['documento_pdf']));
$sourceFile = $filename->fileName;
} else {
$sourceFile = str_replace('C:fakepath\', 'tmp/', $param['key']);
}

$ext = pathinfo($sourceFile, PATHINFO_EXTENSION);