Olá pessoal bom dia , estou com pequeno problema em um script PHP no Linux tenho os seguintes códigos (config_chamado.php - baixar_arquivo_anexo.php - listar_chamado.php )no script cofing_chamado.php por ser muito grande vou colocar somente a parte que será usuado.
config_chamado.php
class help_desk {
////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Parametros de configurção mysql //
////////////////////////////////////////////////////////////////////////////////////////////////////////////
var $db_host = 'localhost'; //Host do servidor mysql
var $db_user = 'usertcanet'; //Usuario do servidor mysql
var $db_pass = '!tcanet'; //Senha do servidor mysql
var $db = 'helpdesk'; //Nome do banco de dados helpdesk
var $table = 'chamados'; //Nome da tabela onde serão armasenados os dados
function baixar() {
global $ID;
$sql = "SELECT * FROM $this->db.$this->table WHERE codigo='$ID'";
$mysql = mysql_query ($sql) or
$this->report_erros ("Erro help_desk::baixar() [ " . mysql_error() . " ]");
$row = mysql_fetch_array ($mysql);
$nome = $row['img'];
chdir ($this->save_dir); //Muda para o diretório onde estão os arquivos
$fp = fopen ($nome, 'rb'); //Abre o arquivo contido no diretorio $save_dir
$size = filesize ($nome); //Pega o tamanho do arquivo
$lns = fread ($fp, $size); //Le o arquivo
fclose ($fp); //Fexa o arquivo
return array (
'nome' => $nome,
'size' => $size,
'str' => $lns,
);
}
}
?>
Então pessoal ao listar todos os chamados ao clicar no link para baixar ele ele verifica se tem anexo ou não se não tiver ele direciona para uma página que exibe uma mensagem sem anexo caso tenha ele baixa, isto no windows , so que o nosso servidor é linux e ao clicar no link ele está gerando o seguinte erro:
Warning: fread(): supplied argument is not a valid stream resource in /var/www/tcanet/chamado/config_chamado.php on line 457
Warning: fclose(): supplied argument is not a valid stream resource in /var/www/tcanet/chamado/config_chamado.php on line 459
Warning: Cannot modify header information - headers already sent by (output started at /var/www/tcanet/chamado/config_chamado.php:457) in /var/www/tcanet/chamado/baixar_arquivo_anexo.php on line 24
Já verifiquei o caminho da pasta o arquivo esta indo certinho verifiquei no BD o nome do arquivo esta no campo tb certinho e ele dá esse erro que não sei mais o que fazer.
Gostaria de contar com a ajuda de vocês para solucionar este problema.
Pergunta
axr36
Olá pessoal bom dia , estou com pequeno problema em um script PHP no Linux tenho os seguintes códigos (config_chamado.php - baixar_arquivo_anexo.php - listar_chamado.php )no script cofing_chamado.php por ser muito grande vou colocar somente a parte que será usuado.
config_chamado.php
class help_desk { //////////////////////////////////////////////////////////////////////////////////////////////////////////// // Parametros de configurção mysql // //////////////////////////////////////////////////////////////////////////////////////////////////////////// var $db_host = 'localhost'; //Host do servidor mysql var $db_user = 'usertcanet'; //Usuario do servidor mysql var $db_pass = '!tcanet'; //Senha do servidor mysql var $db = 'helpdesk'; //Nome do banco de dados helpdesk var $table = 'chamados'; //Nome da tabela onde serão armasenados os dados function baixar() { global $ID; $sql = "SELECT * FROM $this->db.$this->table WHERE codigo='$ID'"; $mysql = mysql_query ($sql) or $this->report_erros ("Erro help_desk::baixar() [ " . mysql_error() . " ]"); $row = mysql_fetch_array ($mysql); $nome = $row['img']; chdir ($this->save_dir); //Muda para o diretório onde estão os arquivos $fp = fopen ($nome, 'rb'); //Abre o arquivo contido no diretorio $save_dir $size = filesize ($nome); //Pega o tamanho do arquivo $lns = fread ($fp, $size); //Le o arquivo fclose ($fp); //Fexa o arquivo return array ( 'nome' => $nome, 'size' => $size, 'str' => $lns, ); } } ?>baixar_arquivo_anexo.php<?php require_once ("config_chamado.php"); $help = new help_desk(); //require_once ('valida_user.inc'); $ID = $_GET['codigo']; $arr = $help->baixar(); //////////////////////////////////////////////////////////////////////////////////////////////////////////// // Tranforma a pagina em um arquivo pra download // //////////////////////////////////////////////////////////////////////////////////////////////////////////// if($arr['size'] != 0) { header("Content-type: application/save"); header("Content-Disposition: attachment; filename=" . $arr['nome']); header("Content-Length: " . $arr['size']); header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0",false); header("Pragma: no-cache"); header("Content-Transfer-Encoding: binary\n"); print $arr['str']; } else { header ("Location: sem_anexo.php"); } ?>Listar_chamado.php<html> <body style="font-family: verdana; font-size:11;" bgcolor="<?php echo $cor_pagina ?>"> <table border="0" align="center" width="100%" style="border-color: black; border-style: solid; border-width:1; font-family: verdana; font-size:10;"> <tr> <td bgcolor="<?php echo $cor_bg_tit_campos ?>" colspan="15"><font face="Arial" size="2" color="<?php echo $cor_titulos_form ?>"> <p align="center"><b><?php echo $tit1_list_chamado ?></b></p></font></td> <tr bgcolor="<?php echo $cor_bg_tit_campos ?>"> <td colspan="4"> </td> <td width="7%"> <font size="1" face="verdana" color="<?php echo $cor_titulos_campos ?>"> <center> ID </center> </font> </td> <td width="15%"> <font size="1" face="verdana" color="<?php echo $cor_titulos_campos ?>"> <center>Dt Abert.</center> </font> </td> <td width="20%"> <font size="1" face="verdana" color="<?php echo $cor_titulos_campos ?>"> <center> Nome </center> </font> </td> <td width="30%"> <font size="1" face="verdana" color="<?php echo $cor_titulos_campos ?>"> <center> Resumo </center> </font> </td> <td width="10%"> <font size="1" face="verdana" color="<?php echo $cor_titulos_campos ?>"> <center>Status</center> </font> </td> <td width="15%"> <font size="1" face="verdana" color="<?php echo $cor_titulos_campos ?>"> <center>SMS</center> </font> </td> <td width="15%"> <font size="1" face="verdana" color="<?php echo $cor_titulos_campos ?>"> <center>Tempo Médio</center> </font> </td> <td width="10%"> <font size="1" face="verdana" color="<?php echo $cor_titulos_campos ?>"> <center>Anexo</center> </font> </td> </tr> <?php while ($oRow = @mysql_fetch_array($oUsers)) { $tempo_medio = ($oRow["tempo_medio"]); $total_segundos = $tempo_medio; $array = converte_segundos($total_segundos, 'd'); //$result= $array; ?> <tr bgcolor="<?php print $cor_bg_dados_inputs;?>" ONMOUSEOVER="move_i(this)" ONMOUSEOUT="move_o(this)"> <td width="18" align="center"><a href="#" onClick="excluir('<?php print $oRow['codigo'];?>')"><img src="img/excluir.jpg" alt="Excluir" width="15" height="16" border="0"></a></td> <td width="18" align="center"><a href="#" onClick="alterar('<?php print $oRow['codigo']; ?>')"><img src="img/alterar.jpg" alt="Alterar" width="15" height="26" border="0"></a></td> <td width="18" align="center"><a href="#" onClick="visualizar('<?php print $oRow['codigo']; ?>')"><img src="img/ver.jpg" alt="Visualizar" width="15" height="16" border="0"></a></td> <td width="18" align="center"><a href="#" onClick="anexar('<?php print $oRow['codigo'];?>')"><img src="img/anexar.jpg" alt="Anexar" width="15" height="16" border="0"></a></td> <td > <center> <font color="<?php print $cor_dados; ?>"><?php print $oRow['codigo']; ?></font> </center> </td> <td> <center> <font color="<?php print $cor_dados; ?>"><?php print date("d-m-Y" , strtotime($oRow['data_abertura'])); ?></font> </center> </td> <td> <center> <font color="<?php print $cor_dados; ?>"><?php print $oRow['nome']; ?></font> </center> </td> <td> <center> <font color="<?php print $cor_dados; ?>"><?php print $oRow['resumo']; ?></font> </center> </td> <td> <center> <font color="<?php print $cor_dados; ?>"><?php print $oRow['status']; ?></font> </center> </td> <td> <center> <font color="<?php print $cor_dados; ?>"><?php print $oRow['sms_benner']; ?></font> </center> </td> <td> <center> <font color="<?php print $cor_dados; ?>"><?php echo $array['dias']. " dias " . $array['horas'] . " Horas ". $array['minutos']." Minutos "; ?></font> </center> </td> <td><center><a href="baixar_arquivo_anexo.php?codigo=<?php print $oRow['codigo']; ?>"><font color="<?php print $cor_dados; ?>"><b><img src="../img/download1.jpg" alt="baixar arquivo anexado no chamado" width="38" height="34" border="0"></b></font></a></center></td> </tr> <?php // } } ?> </table > </body> </html>Aqui é onde chama o baixar_arquivo_anexo.php Então pessoal ao listar todos os chamados ao clicar no link para baixar ele ele verifica se tem anexo ou não se não tiver ele direciona para uma página que exibe uma mensagem sem anexo caso tenha ele baixa, isto no windows , so que o nosso servidor é linux e ao clicar no link ele está gerando o seguinte erro:Já verifiquei o caminho da pasta o arquivo esta indo certinho verifiquei no BD o nome do arquivo esta no campo tb certinho e ele dá esse erro que não sei mais o que fazer.
Gostaria de contar com a ajuda de vocês para solucionar este problema.
Att.
AXR36
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.