input type file does not load .CSV file

0

Hello, I'm trying to get the data from a .CSV file with php, but when I use the input file to get the .csv it's not loading

html code

<form id="form" name="form"  action="add_analise.php" enctype="multipart/form-data" method="POST">

<input name="file" id="file" type="file"   />

<input type="submit"  value="Ver Analise" />  
    </form>

php code

<?php
error_reporting(E_ALL & ~ E_NOTICE);
include("config/config.php");
header("Content-Type: text/html; charset=ISO-8859-1",true);


// Abre o Arquvio no Modo r (para leitura)
$arquivo = $_FILES['file']['tmp_name'];
$arquivo = fopen ($arquivo, 'r');

// Lê o conteúdo do arquivo
while(!feof($arquivo)){
    // Pega os dados da linha
    $linha = fgets($arquivo, 1024);

    // Divide as Informações das celular para poder salvar
    $dados = explode(';', $linha);



echo $dados[0]."<br>"; 


    // Verifica se o Dados Não é o cabeçalho ou não esta em branco
    if($dados[0] != 'Date' && !empty($linha)){


        //mysql_query('INSERT INTO emails (nome, email) VALUES ("'.$dados[0].'", "'.$dados[1].'")');
    }
}

// Fecha arquivo aberto
fclose($arquivo);

The .CSV file is not loading at all, after clicking the send button, the page is loading, loading and nothing happens, the file is only 10k / b

    
asked by anonymous 05.05.2017 / 04:17

1 answer

0

The $_FILES['file']['tmp_name']; saves the file in the tmp system folder, this folder probably does not allow the read at the time of the upload, maybe some permission, there should have been errors like:

  

Warning: fopen (...): failed to open stream: No such file or directory in Z: \ web \ inp \ test.php on line 9

     

Ideally, you should move your CSV to a folder with read permissions, and also check if fopen was able to open the file:

<?php
//Define o lugar que será salvo o arquivo com um nome aleatório
$arquivo = 'csv/' . uniqid(rand(), true) . '.csv';

if (empty($_FILES['file'])) {
    echo 'A requisição não veio por POST';
    exit;
} elseif ($_FILES['file']['error'] !== UPLOAD_ERR_OK) {
    echo 'Erro ao fazer o upload', $_FILES['file']['error'];
    exit;
} elseif (!move_uploaded_file($_FILES['file']['tmp_name'], $arquivo)) {
     echo 'Erro ao mover para a pasta';
     exit;
}

$handle = fopen ($arquivo, 'rb');

//Verifica se o arquivo pode ser lido
if (!$handle) {
    echo 'Falha ao ler o arquivo';
    exit;
}

// Lê o conteúdo do arquivo
while(!feof($handle)){
    // Pega os dados da linha
    $linha = fgets($handle, 1024);

    // Divide as Informações das celular para poder salvar
    $dados = explode(';', $linha);



     echo $dados[0]."<br>"; 


    // Verifica se o Dados Não é o cabeçalho ou não esta em branco
    if($dados[0] != 'Date' && !empty($linha)){


        //mysql_query('INSERT INTO emails (nome, email) VALUES ("'.$dados[0].'", "'.$dados[1].'")');
    }
}

// Fecha arquivo aberto
fclose($handle);

//Deleta o arquivo após usá-lo
unlink($arquivo);
    
05.05.2017 / 04:43