input type file does not load file. CSV

Asked

Viewed 495 times

2

Hello, I’m trying to get the data from a file. CSV with php, but when using the input file to get the . csv is 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 file. CSV is not loading at all, after clicking the send button, the page is loading, loading and nothing happens, the file is only 10k/b

1 answer

1

The $_FILES['file']['tmp_name']; saves the file in the folder tmp system, this folder probably does not allow reading at the time of upload, maybe something permission, must have occurred errors like:

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

Warning: feof() expects Parameter 1 to be Resource, Boolean Given in Z: web Inp teste.php on line 12

Ideal is to move your CSV to a folder with read permissions and also check if fopen managed 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);

Browser other questions tagged

You are not signed in. Login or sign up in order to post.