Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

alphasil

[Resolvido] Erro numa função e noutra funciona

Mensagens Recomendadas

alphasil

Boas

Alguém me consegue explicar o que será que está a acontecer aqui, é que já perdi horas e horas e não vejo a razão deste erro.

public function newPedidoAulaPdf($idAula, $nome_professor, $nome_turma, $atividade, $local, $dataAula, $inicio, $fim, $fundamentacao, $observacoes){
    $center = array('', '', '', 'justification' => 'center');
    $pdf = new Cezpdf('a4', 'portrait');
    $pdf->ezSetMargins(20, 20, 20, 20);
    $pdf->ezStartPageNumbers(320, 20, 10, 'right', 'Página {PAGENUM} de {TOTALPAGENUM}');
    $mainFont = 'Times-Roman';
    $codeFont = 'fonts/Helvetica';
    $pdf->selectFont($mainFont);
    $pdf->openHere('Fit');
    $escola = utf8_decode("<b>N.º do Código do Estabelecimento de Ensino 151567 </b>\n");
    $contatos = utf8_decode("<b>N.º de Telefone: 258800020 / Fax: 258800029</b>\n");
    $pdf->ezImage("../img/logo_esmaior.jpg", 0, 500, 'none', 'left');
    $pdf->selectFont("fonts/Helvetica-Bold.afm");
    $pdf->ezText($escola, 11, $center);
    $pdf->ezText($contatos, 11, $center);
    $pdf->setLineStyle(1, '', '', array());
    $pdf->line(30, 700, 550, 700);
    $pdf->ezText('Atividade no Exterior – Pedido de Autorização', 11, $center);
    $pdf->rectangle(50, 30, 480, 625);
    if ($atividade == "") {
	    $pdf->setColor(1, 0, 0);
	    $sem = "<b>Não existem pedidos</b>\n";
	    $pdf->ezText($sem, 12, $center);;
    } else {
	    $pdf->addText(70, 635, 11, "Atividade:");
	    $pdf->addText(70, 620, 11, "Turma:");
	    $pdf->addText(70, 605, 11, "Local:");
	    $pdf->addText(70, 590, 11, "Docente:");
	    $pdf->addText(70, 575, 11, "Data:");
	    $pdf->addText(70, 560, 11, "Início:");
	    $pdf->addText(70, 545, 11, "Fim:");
	    $pdf->addText(70, 530, 11, "Fundamentação:");
	    $pdf->addText(70, 400, 11, "Observações:");
	    $pdf->selectFont($codeFont);
	    $pdf->addText(130, 635, 11, $atividade);
	    $pdf->addText(115, 620, 11, $nome_turma);
	    $pdf->addText(110, 605, 11, $local);
	    $pdf->addText(120, 590, 11, $nome_professor);
	    $pdf->addText(105, 575, 11, $dataAula);
	    $pdf->addText(105, 560, 11, $inicio);
	    $pdf->addText(95, 545, 11, $fim);
	    $pdf->rectangle(100, 420, 375, 100);
	    $pdf->addTextWrap(105, 510, 11, $fundamentacao, 350, 'full');
	    $pdf->rectangle(100, 290, 375, 100);
	    $pdf->addTextWrap(105, 380, 11, $observacoes, 350, 'full');
	    $pdf->selectFont("fonts/Helvetica-Bold.afm");
	    $pdf->addText(70, 250, 11, "Diretor:");
	    $pdf->setColor(0.9,0.9,0.9);
	    $pdf->filledRectangle(100, 180, 375, 60);
	    $pdf->setColor(0, 0, 0);
	    $pdf->selectFont($codeFont);
	    $pdf->addText(105, 225, 11, "Despacho:");
	    $pdf->addText(105, 200, 11, "Data: ___/___/______");
	    $pdf->addText(280, 200, 11, "Assinatura: ______________________");
	    $impresso = "<b>Impresso em:</b> " . date("d/m/Y - H:i");
	    $pdf->addText(400, 35, 8, $impresso);
    }
    $pdfcode = $pdf->ezOutput();
    $pdf_name = $dataAula . "_" . $nome_turma . ".pdf";
    $path = realpath( $_SERVER['DOCUMENT_ROOT'] ).'/miga/pdf/'.$pdf_name;
    $fp = fopen($path, 'wb');
    fwrite($fp, $pdfcode);
    fclose($fp);;
    $target_path = "/miga/pdf/" . basename($pdf_name);
    try {
	    $stmt = $this->db->prepare("UPDATE `rel_turma_prof_aula` SET `path` = :path WHERE `id_aula` = :id_aula");
	    $stmt->bindparam(":path", $target_path, PDO::PARAM_STR);
	    $stmt->bindparam(":id_aula", $idAula, PDO::PARAM_INT);
	    if (!$stmt->execute()) {
		    print_r($stmt->errorInfo());
	    }
    } catch (PDOException $e) {
	    echo $e->getMessage();
    }
    $this->sendPedidoAula($pdf_name);
   }
 

Esta função funciona

Esta

public function novaAtividadePdf($idAtividade,$escola, $novaAtividade, $periodo, $previsao, $previsto, $dominios, $destinatarios, $organizador, $orcamento, $observacoes, $professor){
    $center = array('', '', '', 'justification' => 'center');
    $pdf = new Cezpdf('a4', 'portrait');
    $pdf->ezSetMargins(20, 20, 20, 20);
    $pdf->ezStartPageNumbers(320, 20, 10, 'right', 'Página {PAGENUM} de {TOTALPAGENUM}');
    $mainFont = 'Times-Roman';
    $codeFont = 'fonts/Helvetica';
    $pdf->selectFont($mainFont);
    $pdf->openHere('Fit');
    $escola = utf8_decode("<b>N.º do Código do Estabelecimento de Ensino 151567 </b>\n");
    $contatos = utf8_decode("<b>N.º de Telefone: 258800020 / Fax: 258800029</b>\n");
    $pdf->ezImage("../img/logo_esmaior.jpg", 0, 500, 'none', 'left');
    $pdf->selectFont("fonts/Helvetica-Bold.afm");
    $pdf->ezText($escola, 11, $center);
    $pdf->ezText($contatos, 11, $center);
    $pdf->setLineStyle(1, '', '', array());
    $pdf->line(30, 700, 550, 700);
    $pdf->ezText('Atividades Registada', 11, $center);
    $pdf->rectangle(50, 30, 480, 625);
    if ($escola == "") {
	    $pdf->setColor(1, 0, 0);
	    $sem = "<b>Não existem registos</b>\n";
	    $pdf->ezText($sem, 12, $center);;
    } else {
	    $pdf->addText(70, 660, 11, "Escola:");
	    $pdf->addText(70, 635, 11, "Projeto/Atividade:");
	    $pdf->addText(70, 610, 11, "Período:");
	    $pdf->addText(70, 585, 11, "Mes:");
	    $pdf->addText(70, 560, 11, "Data:");
	    $pdf->addText(70, 535, 11, "Domínios:");
	    $pdf->addText(70, 415, 11, "Destinatários:");
	    $pdf->addText(70, 390, 11, "Organizador:");
	    $pdf->addText(70, 365, 11, "Orcamento:");
	    $pdf->addText(70, 340, 11, "Observações:");
	    $pdf->addText(70, 200, 11, "Professor:");

	    //Dados gravados em BD
	    $pdf->selectFont($codeFont);
	    $pdf->addText(115, 660, 11, $escola);
	    $pdf->addText(165, 635, 11, $novaAtividade);
	    $pdf->addText(115, 610, 11, $periodo);
	    $pdf->addText(100, 585, 11, $previsto);
	    $pdf->addText(100, 575, 11, $previsao);
	    $pdf->rectangle(100, 430, 375, 100);
	    $pdf->addTextWrap(105, 520, 11, $dominios);
	    $pdf->addText(150, 415, 11,$destinatarios);
	    $pdf->addText(150, 390, 11, $organizador);
	    $pdf->addText(150, 365, 11, $orcamento);
	    $pdf->rectangle(100, 230, 375, 100);
	    if($observacoes == ""){
		    $pdf->setLineStyle(1, '', '', array());
		    $pdf->line(100, 330, 475, 231);
	    }
	    $pdf->addTextWrap(105, 320, 11, $observacoes, 350, 'full');
	    $pdf->addText(130, 200, 11, $professor);
	    $impresso = "<b>Impresso em:</b> " . date("d/m/Y - H:i");
	    $pdf->addText(400, 35, 8, $impresso);
	    //Grava pdf no pasta pdf
	    $pdfcode = $pdf->ezOutput();
	    $pdf_name = $escola . "_" . $previsto . ".pdf";
	    $path = realpath( $_SERVER['DOCUMENT_ROOT'] ).'/miga/pdf/'.$pdf_name;
	    print_r(scandir ($path));
	    $fp = fopen($path, 'w');
	    fwrite($fp, $pdfcode);
	    fclose($fp);;
	    $target_path = "/miga/pdf/" . basename($pdf_name);
	    try {
		    $stmt = $this->db->prepare("UPDATE `rel_atividades_professor` SET `pdf` = :pdf WHERE `id_atividades` = :id_atividades");
		    $stmt->bindparam(":pdf", $target_path, PDO::PARAM_STR);
		    $stmt->bindparam(":id_atividades", $idAtividade, PDO::PARAM_INT);
		    if (!$stmt->execute()) {
			    print_r($stmt->errorInfo());
		    }
	    } catch (PDOException $e) {
		    echo $e->getMessage();
	    }
    }
   }
 

Dá os seguintes erros..

Warning: : failed to open dir: No such file or directory
Warning: scandir(): (errno 2): No such file or directory in
Warning: : failed to open stream: No such file or directory in
Warning: fwrite() expects parameter 1 to be resource, boolean given
Warning: fclose() expects parameter 1 to be resource, boolean given
 

.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
alphasil

Oi Happy

No primeiro caso o valor é

/home/xxxxxx/public_html/miga/pdf/2016-06-29_5ºB.pdf

No segundo caso é

home/xxxxx/public_html/miga/pdf/N.� do C�digo do Estabelecimento de Ensino _Março.pdf

agora não me este problema mas não grava.....

Editado por alphasil

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

então estás a passar um caminho para um ficheiro para o scandir ? função que espera um caminho para um directório ?


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
alphasil

Olá Happy

Não, só pus o scandir para ver se o caminho era válido. E era mesmo válido já que o mesmo estava definido na outra função e funcionava.

Estive a rever as variáveis uma a uma e não estava a receber $escola, a partir do momento que passou a recebê-la já funcionou direito.

Nada como ouvir umas dicas contigo para encaminhar-me.

Vê o teu email sff, mandei-te um jpg

Obrigado

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.