Estou tentando criar um script que vai ler o arquivo arq1.txt e logo em seguida procure o que foi lido no arquivo arq2.txt. Detalhe quando não encontrar a linha lida no arq1.txt em qualquer linha do arq2.txt o script grava a informação no arquivo arq3.txt.
A seguir o script no qual estou tentando realizar as ações acima, mas não estou tendo sucesso.
OBS.:por favor se algém puder me ajuder ficarei grato. Pode ser até um outro script que vocês em outrora já tenham desenvolvido, post ele neste tópico que tentarei adaptar a minha necessidade.
Att.
Dioniton
<?
// inicia a funcao ler arq2.txt
function lerarq2 ($valor2) {
$fp2 = fopen ("./arq2.txt", "r");
while ($lerarq2 = fscanf ($fp2, "%d")) {
list ( $codigo2 ) = $lerarq2;
if ($codigo2 != $valor2) {
$var_grava_cod = $valor2;
} else {
$var_grava_cod = 0;
}
} // fecha o while da funcao
grava_cod($var_grava_cod);
fclose($fp2);
} // termina a função lerarq2
function grava_cod ($valor3) {
$filename = 'arq3.txt';
if ( $valor3 != 0) { // verifica se a variável veio com algum valor se não é nula executa o procedimento a seguir
$cod_gravar = $valor3;
// Tendo certeza que o arquivo existe e que há permissão de escrita primeiro.
if (is_writable($filename)) {
// abrindo $filename em modo de append (acréscimo).
// O ponteiro do arquivo estará no final dele desde
// que será aqui que $cod_gravar será escrito com fwrite().
if (!$fp3 = fopen($filename, 'a')) {
print "Erro abrindo arquivo ($filename)";
exit;
}
// Escrevendo $cod_gravar para o arquivo aberto.
if (!fwrite($fp3, $cod_gravar)) {
print "Erro escrevendo no arquivo ($filename)";
exit;
}
print "Sucesso: escrito ($cod_gravar) no arquivo ($filename) <br>";
fclose($fp3);
} else {
print "O arquivo $filename não pode ser editado";
}
} else {
}
} // fecha a funcao grava_cod
// vai ler o arq1.txt e a cada loop chama a função lerarq2
$fp = fopen ("./arq1.txt", "r");
while ($lerarq = fscanf ($fp, "%d")) {
list ( $codigo ) = $lerarq;
lerarq2($codigo);
} // fecha while
fclose($fp);
?>
Editado por Jonathan Queiroz Desmarcar tópico como Resolvido (Jonathan)
Pergunta
Dioniton
Olá,
Estou tentando criar um script que vai ler o arquivo arq1.txt e logo em seguida procure o que foi lido no arquivo arq2.txt. Detalhe quando não encontrar a linha lida no arq1.txt em qualquer linha do arq2.txt o script grava a informação no arquivo arq3.txt.
A seguir o script no qual estou tentando realizar as ações acima, mas não estou tendo sucesso.
OBS.:por favor se algém puder me ajuder ficarei grato. Pode ser até um outro script que vocês em outrora já tenham desenvolvido, post ele neste tópico que tentarei adaptar a minha necessidade.
Att.
Dioniton
<? // inicia a funcao ler arq2.txt function lerarq2 ($valor2) { $fp2 = fopen ("./arq2.txt", "r"); while ($lerarq2 = fscanf ($fp2, "%d")) { list ( $codigo2 ) = $lerarq2; if ($codigo2 != $valor2) { $var_grava_cod = $valor2; } else { $var_grava_cod = 0; } } // fecha o while da funcao grava_cod($var_grava_cod); fclose($fp2); } // termina a função lerarq2 function grava_cod ($valor3) { $filename = 'arq3.txt'; if ( $valor3 != 0) { // verifica se a variável veio com algum valor se não é nula executa o procedimento a seguir $cod_gravar = $valor3; // Tendo certeza que o arquivo existe e que há permissão de escrita primeiro. if (is_writable($filename)) { // abrindo $filename em modo de append (acréscimo). // O ponteiro do arquivo estará no final dele desde // que será aqui que $cod_gravar será escrito com fwrite(). if (!$fp3 = fopen($filename, 'a')) { print "Erro abrindo arquivo ($filename)"; exit; } // Escrevendo $cod_gravar para o arquivo aberto. if (!fwrite($fp3, $cod_gravar)) { print "Erro escrevendo no arquivo ($filename)"; exit; } print "Sucesso: escrito ($cod_gravar) no arquivo ($filename) <br>"; fclose($fp3); } else { print "O arquivo $filename não pode ser editado"; } } else { } } // fecha a funcao grava_cod // vai ler o arq1.txt e a cada loop chama a função lerarq2 $fp = fopen ("./arq1.txt", "r"); while ($lerarq = fscanf ($fp, "%d")) { list ( $codigo ) = $lerarq; lerarq2($codigo); } // fecha while fclose($fp); ?>Editado por Jonathan QueirozDesmarcar tópico como Resolvido (Jonathan)
Link para o comentário
Compartilhar em outros sites
6 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.