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

Salvar Txt No Bd


josy

Pergunta

Eu não consigo fazer funcionar esse script.. Já testei d várias formas e não da, não acho o erro, o que acontece é que a form não passa os valores para as variaveis.. nesse caso $submit, $upfile, $upfile_name, $upfile_size.. alguém me da uma mao nisso, ou me diz qual o problema nesse código??

<?

if($submit)

{

$dbhost = "localhost";

$dbuser = "";

$dbpass = "";

$dbname = "";

$con = mysql_connect($dbhost, $dbuser, $dbpass);

mysql_select_db($dbname, $con);

//DAR PERMISSÃO PARA O ARQUIVO

chmod($mypath, 0777); //não sei se está certa esta permissao, se ela tem que ser dada ao arquivo ou a pasta onde sera gravado

//LOCAL ONDE TEM PERMISSÃO DE GRAVACÃO PARA QUE O ARQUIVO POSSA SER UPLOADADO

$mypath="./upload/";

//NOME DA TABELA ONDE SERÁ POSTADO O ARQUIVO

$mytable="tblextrato2";

//LIMITE DE UPLOAD

if ($upfile_size<="100000000000")

{

$status="FUNCIONOU";

$uploaded=date("dmY");

$erro = $_FILES['upfile']['error'];

if ($erro == '0')

{

echo "não houve erro, o upload foi bem sucedido!!";

}

echo $erro;

//ARQUIVO É RENOMEADO

$myfile=$mypath .$uploaded .".csv";

echo $myfile;

if (copy($upfile, $myfile))

{

$status.=", O ARQUIVO FOI COPIADO PARA ALGUM LUGAR";

//COLOCAR O ARQUIVO NA TABELA

$insert_csv="LOAD DATA LOCAL INFILE '$myfile' INTO TABLE $mytable FIELDS TERMINATED BY ','";

$result_csv = mysql_query($insert_csv, $con) or die("NÃO VIROU... " .mysql_error());

echo "$myfile<br>";

echo "$upfile<br>";

if ($result_csv)

{

$status.=" E AGORA IMPORTADO PARA A BASE DE DADOS";

}

else

{

$status.=" MAS NÃO FOI POSSIVEL COLOCAR NA BASE DE DADOS";

}

}

else

{

$status.="... O ARQUIVO não FOI COPIADO";

}

echo "$status";

}

else

{

echo "ARQUIVO MUITO GRANDE";

}

}

else

{

?>

<html>

<head>

<title>Upload csv-file</title>

</head>

<body bgcolor="#ffffff" text="#000000" id=all>

<form enctype="multipart/form-data" action="<? echo "$PHP_SELF"; ?>" method="POST">

<div align="center">

<table border="0" cellpadding="0" cellspacing="0" width="600" align="center">

<tr>

<td width="200" align="left" valign="top">ESCOLHA O ARQUIVO PARA UPLOAD </td>

<td width="400" valign="top"><input name="upfile" type="file"><br><br></td>

</tr>

<tr>

<td width="100%" colspan="2" align="center"><input type="submit" name="submit" value="Upload"></td>

</tr>

</table>

</div>

</form>

</body>

</html>

<?

}

?>

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Seguinte essas variaves com o nome do campo de formulario só funcionam se a opção de configuração do PHP register_globals estiver como "on", mas elas não são muito seguras mesmo, então passei a usar como o Beraldo falou variaveis superglobal $_FILES.. e ficou assim o script:

upload.php

<html>

<head>

<title>Upload csv-file</title>

</head>

<body bgcolor="#ffffff" text="#000000" id=all>

<form action="script.php" method="POST" enctype="multipart/form-data">

ESCOLHA O ARQUIVO PARA UPLOAD <input name="arquivo" type="file"><br><br>

<input type="submit" value="Enviar">

</form>

</body>

</html>

script.php

<?

//REPASSA A VARIÁVEL DO UPLOAD

$arquivo = isset($_FILES['arquivo']) ? $_FILES['arquivo'] : FALSE;

//DIRETÓRIO PARA ONDE O ARQUIVO SERÁ MOVIDO

$diretorio=./upload/";

//TAMANHO MÁXIMO DO ARQUIVO EM BYTES

$maximo = 50000000;

//CASO A VARIÁVEL $arquivo CONTENHA O VALOR FALSE, ESSE SCRIPT FOI ACESSADO DIRETAMENTE

if(!$arquivo)

{

echo "Não acesse esse arquivo diretamente!";

echo "<br>";

}

else

{

//VERIFICA O TIPO DE ARQUIVO

if($_FILES['arquivo]['type'] !== "application/msaccess")

{

echo "O arquivo enviado por você não é um arquivo do access! Envie outro!";

echo "<br>";

}

else

{

echo "Extensão arquivo correta!!";

echo "<br>";

//VERIFICA LIMITE DE UPLOAD

if($_FILES['arquivo']['size'] > $maximo)

{

echo "Erro! O arquivo enviado por você ultrapassa o ";

echo "limite máximo de " . $maximo . " bytes! Envie outro arquivo";

echo "<br>";

}

else

{

echo "Arquivo tamanho ok!!";

echo "<br>";

//MOVE PARA O DIRETÓRIO DESEJADO

if (move_uploaded_file($arquivo['tmp_name'], $diretorio . $arquivo['name']))

{

echo "Arquivo Enviado com sucesso!";

echo "<br>";

}

else

{

echo "Erro ao enviar seu arquivo!";

$erro = $_FILES['upfile']['error'];

echo $erro;

echo "<br>";

}

}

}

}

?>

A minha dúvida é quando eu for colocar no mysql onde eu tenho que dar a permissão pra mexer no arq?

chmod($mypath, 0777);

Tem que ser dado para o nome do arq?

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,3k
    • Posts
      652,4k
×
×
  • Criar Novo...