Ir para conteúdo
Fórum Script Brasil
  • 0

Gerar arquivo zerado


andrelccamargo

Pergunta

Bom dia a todos.

Sou iniciante em PHP e estou com um problema na empresa onde trabalho.

Tenho um programa em PHP que executa uma consulta em um banco de dados SQL SERVER e gera uma arquivo com os parametros que foram colocados.

O arquivo funciona perfeitamente. Copia os dados novos, gera o arquivo, belezinha!!!

O parametro inicial para a pesquiza é a data do dia. Então se teve alteração na tabela ele vai e gera, se não teve ele não gera.

So que agora surgiu a necessidade de se gerar um arquivo mesmo quando não a alteração na tabela.

Por exemplo se tiver alteração o programa realiza o scripty e traz os dados, agora se não tiver eu preciso que seja gerado um arquivo zerado.

Não tenho nem ideia de como posso realizar isso, alguém poderia me dar uma luz?

Vou postar o codigo do programa abaixo para melhor me entenderem:

<?php

/**

<td>'.money_format(str_pad(str_replace(".",",",$row['7']), 14, "0", STR_PAD_LEFT),money_format('%=0(#10.2n', $row['7']).'</td>

*/

// <td>'.str_pad(str_replace(".",",",$row['7']), 14, "0", STR_PAD_LEFT).'</td>

// Realizando a conexao

$hoje = date('Y-m-d');

setlocale(LC_MONETARY, 'de_DE');

$condb = mssql_connect('192.000.0.00','user','senha');

if($condb) {

if(!mssql_select_db('BANCO_DADOS',$condb)) {

echo 'Erro ao escolher o banco de dados';

}

} else {

echo 'Erro ao conectar o banco';

}

$sql = "SELECT 'NF Saida' AS 'Tipo',

T1.Serial AS 'Nº da nf',

T1.DocDate AS 'Data de lançamento',

case

//AQUI TEM UM SELECT GIGANTE POR ISSO SO POSTEI O INICIO!!!

$result = mssql_query($sql,$condb);

while($row = mssql_fetch_array($result)) {

$arquivo = "C:NOMEARQUIVO";

//TENTA ABRIR O ARQUIVO TXT

if (!$abrir = fopen($arquivo, "a")) {

echo "Erro abrindo arquivo ($arquivo)";

exit;

}

$campo1= str_pad($row['Tipo'],18, ' ');

$campo2= str_pad(number_format($row['1'], 0, '', ''),18, "0",STR_PAD_LEFT);

$campo3= str_pad(date('dmY', strtotime($row['2'])),18, "0",STR_PAD_LEFT);

$campo4= str_pad(number_format($row['3'], 0, '', ''),18, "0",STR_PAD_LEFT);

$campo5= str_pad(number_format($row['4'], 0, '', ''),18, "0",STR_PAD_LEFT);

$campo6= str_pad(number_format($row['5'], 0, '', ''),18, "0",STR_PAD_LEFT);

$campo7= str_pad(number_format($row['6'], 0, '', ''),18, "0",STR_PAD_LEFT);

$campo8= str_pad(number_format($row['7'], 2, '', ''),18, "0",STR_PAD_LEFT);

$campo9= str_pad(date('dmY', strtotime($row['8'])),18, "0",STR_PAD_LEFT);

$campo10= str_pad(number_format($row['9'], 2, '', ''),18, "0",STR_PAD_LEFT);

$campo11= str_pad(number_format($row['10'], 2, '', ''),18, "0",STR_PAD_LEFT);

$campo12= str_pad(number_format($row['11'], 0, '', ''),18, "0",STR_PAD_LEFT);

$campo13= str_pad(number_format($row['12'], 2, '', ''),18, "0",STR_PAD_LEFT);

$campo14= str_pad(number_format($row['13'], 2, '', ''),18, "0",STR_PAD_LEFT);

$campo15= str_pad(number_format($row['14'], 2, '', ''),18, "0",STR_PAD_LEFT);

$campo16= str_pad(number_format($row['15'], 2, '', ''),18, "0",STR_PAD_LEFT);

$campo17= str_pad(number_format($row['16'], 2, '', ''),18, "0",STR_PAD_LEFT);

$campo18= str_pad(number_format($row['17'], 2, '', ''),18, "0",STR_PAD_LEFT);

$campo19= str_pad(number_format($row['18'], 2, '', ''),18, "0",STR_PAD_LEFT);

$campo20= str_pad(number_format($row['19'], 2, '', ''),18, "0",STR_PAD_LEFT);

$campo21= str_pad(number_format($row['20'], 0, '', ''),18, "0",STR_PAD_LEFT);

$campo22= substr(str_pad($row['Marca'],18, ' '),0,18);

$campo23= str_pad($row['Unid'],18, ' ');

$conteudo = "$campo1$campo2$campo3$campo4$campo5$campo6$campo7$campo8$campo9$campo10$campo11$campo12$campo13$campo14$campo15$campo16$campo17$campo18$campo19$campo20$campo21$campo22$campo23";

//TENTA ABRIR O ARQUIVO TXT

if (!$abrir = fopen($arquivo, "a")) {

echo "Erro abrindo arquivo ($arquivo)";

exit;

}

//ESCREVE NO ARQUIVO TXT

if (!fwrite($abrir, $conteudo)) {

print "Erro escrevendo no arquivo ($arquivo)";

exit;

}

}

?>

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Opa!

Desculpa... Que POGramação! [oO]

Se tu quer sempre criar o arquivo, crie ele sempre! No começo do script já manda ele criar o arquivo e deu. Simples. Depois ele se vira se tem que gravar mais coisas ou não.

Link para o comentário
Compartilhar em outros sites

  • 0
Opa!

Desculpa... Que POGramação! [oO]

Se tu quer sempre criar o arquivo, crie ele sempre! No começo do script já manda ele criar o arquivo e deu. Simples. Depois ele se vira se tem que gravar mais coisas ou não.

Opa Wanderson tudo bem?

Então mas como faço pra ele gerar isso???

Esse programa não foi feito por mim, eu so fiz a parte do SQL, estou iniciando no PHP e não tenho a menor ideia de como fazer isso?

Link para o comentário
Compartilhar em outros sites

  • 0

i aew andrelccamargo, saca só:

essa linha:

if (!$abrir = fopen($arquivo, "a")) {
ele tenta abrir o arquivo com nome especificado, caso o arquivo não exista ele vai criar um automaticamente, a letra a do segundo argumento significa que ele vai abrir o arquivo somente para escrita e vai começar a escrever na ultima linha do arquivo(caso já exista um). nessa linha:
if (!fwrite($abrir, $conteudo)) {

se ele conseguiu abrir/criar o arquivo ele escreve o conteudo da variavel $conteudo.

tenta aprimorar esse codigo colocando tambem a função fclose()

para garantir a integridade do arquivo. E aproveita para olhar a sintaxe das funçoes fopen e fwrite, espero que ajude, abraço!

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...