adrianob 0 Denunciar post Postado Agosto 16, 2007 Estou importando um arquivo CSV para o BD.Quando importo o arquivo q está na mesma página atraves de um campo INPUT funciona perfeitamente, agora se passar esse campo INPUT TYPE = "TEXT" para TYPE = "FILE". o mesmo não funciona.Está dando o seguinte erro. Warning: fopen(C:/Documents and Settings/Casa/Desktop/arquivo.csv): failed to open stream: Permission denied in C:\www\site\teste-import.php on line 28Segue o código abaixo<?include "../geral/conexao.php";if(isset($_POST['submit'])) { $filename=$_FILES['filename']; // Pega o nome do arquivo $filename_nome = $filename["name"]; $caminho = "C:/Documents and Settings/Mithos/Desktop/"; $handle = fopen($caminho.$filename_nome, "r"); while (($data = fgetcsv($handle, 4000, ";")) !== FALSE) { $import = mysql_query("insert into contrato (contrato,cpf,estagio,funcionario) values ('$data[0]','$data[1]','$data[2]','$data[3]')"); $error = mysql_error(); echo $error; } fclose($handle); print "Import done"; } else { print "<form enctype='multipart/form-data' action='teste-import.php' method='post'>"; print "Type file name to import:<br>"; print "<input type='file' name='filename' size='20'><br>"; print "<input type='submit' name='submit' value='submit'></form>"; }?> Compartilhar este post Link para o post Compartilhar em outros sites
Anderson Mello 3 Denunciar post Postado Agosto 16, 2007 Experimenta trocar: $filename_nome = $filename["name"]; Por: $filename_nome = $filename["tmp_name"]; E no fopen, use apenas essa variável com o nome temporário do arquivo, que é o que foi enviado pelo form. Faz um teste e poste o resultado ;) []s Anderson Mello Compartilhar este post Link para o post Compartilhar em outros sites
adrianob 0 Denunciar post Postado Agosto 16, 2007 beleza pura!funcionou!Obrigado amigo Compartilhar este post Link para o post Compartilhar em outros sites
Anderson Mello 3 Denunciar post Postado Agosto 17, 2007 De nada, Adriano ;) Só esclarecendo, como ali você faz o upload (capo tipo file), o índice 'name' do array $_FILES possui apenas o nome do arquivo, enquanto que o índice 'tmp_name' carrega o nome temporário do arquivo carregado para o servidor e seu conteúdo, que pode então, por exemplo, ser movido com a função move_uploaded_file(). []s Anderson Mello Compartilhar este post Link para o post Compartilhar em outros sites