Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
alphasil

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

Recommended Posts

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
 

.

Share this post


Link to post
Share on other 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.....

Edited by alphasil

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.