Uma equipe de TI de um Ministério está implementando o upload de um arquivo de remessa sem cabeçalho, no qual cada linha tem o formato:
D;NOSSO NUMERO; CEF; VALOR_CENTAVOS; VENCIMENTO (YYYY-MM-DD)
O objetivo é inserir cada registro do arquivo de remessa na tabela MySQL remessas usando o PDO a partir do script PHP a seguir, onde a numeração de linhas é apenas ilustrativa.
1 | <?php
2 |
3 | $pdo = new PDO(
4 | 'mysql:host=localhost;dbname=financeiro;charset=utf8mb4',
5 | 'user', 'pass',
6 | [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]
7 | );
8 |
9 |
10 | $stmt = $pdo->prepare(
11 | 'INSERT INTO remessas (nosso_numero, cpf, valor_centavos, vencimento)
12 | VALUES (?, ?, ?, ?)'
13 | );
14 |
15 |
16 | $fp = fopen($_FILES['remessa']['tmp_name'], 'r');
17 | while (($linha = fgets($fp)) !== false) {
18 | $linha = trim($linha);
19 | if ($linha === '' || $linha[0] !== 'D') { continue; }
20 | list(,$nosso,$cpf,$valor,$venc) = explode(';', $linha);
21 |
22 | }
23 | fclose($fp);
24 | echo "Importação concluída.";
25 | ?>
Em condições ideais, o código que deve ser inserido na linha 21 (vinte e um) para completar o script e realizar a operação desejada é: