sergioas 0 Denunciar post Postado Setembro 28, 2015 Boa Tarde, estou comproblemas em Post de arquivo. Segue: Tenho o html: <form id="formularioCadastroPaciente" enctype="multipart/form-data" action="recebeArq.php" method="post"> <input type="file" id="arq" name="arq" class="filestyle" data-iconName="glyphicon glyphicon-inbox"> php - recebArq.php $caminho = '/temp/arq'; $moveu = move_uploaded_file($_FILES['arq'],$caminho.$_FILES['arq']['name']); if($moveu){ echo 'OK'; } else{ echo 'NAO OK'; } O erro: Warning: move_uploaded_file() expects parameter 1 to be string, array given in C:\xampp\htdocs\projeto\admin\recebeArq.php on line 62NAO OK Nao estou utilizando corretamente move_uploaded_file ? Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Setembro 28, 2015 Use $_FILES['arq']['tmp_name'] em vez de apenas $_FILES['arq'] Compartilhar este post Link para o post Compartilhar em outros sites
sergioas 0 Denunciar post Postado Setembro 28, 2015 show, deu certo era isso mesmo. Obrigado. Mas agora eu mudei para fazer Post por Ajax/Jquery... E nao sei como receber no meu recebArq.php o arquivo. Estou fazendo dessa maneira o ajax: var dados = $( form ).serialize(); $.ajax({ type: "POST", url: "/projeto/adminPaciente/recebArq.php", data: dados, success: function( data ) { alert( 'GRavou o arquivo' ); },error: function(XMLHttpRequest, textStatus, errorThrown) { for(i in XMLHttpRequest) { if(i!="channel") document.write(i +" : " + XMLHttpRequest +"<br>")} } }); Ele exibe o alert 'Gravou o arquivo', mas na verdade nao fez nada... e nem deu erro... Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Setembro 28, 2015 Você precisa verificar qual resposta veio em data. Experimente fazer alert(data); ou, melhor, aprender a usar o inspetor do navegador, que vai te dar uma resposta mais completa. Compartilhar este post Link para o post Compartilhar em outros sites
sergioas 0 Denunciar post Postado Setembro 28, 2015 Ok, fiz isto, e em "dados" , nao foi serializado "arq" . Na verdade, eu quero fazer via ajax, para se der tudo ok, retornar um dialog informando que foi tudo OK, se nao der certo , mostrar um dialog informando que nao deu certo o Upload... Se eu fizer via Form action, nao vai ter como eu retornar... Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Setembro 28, 2015 Primeiro faça sem o JavaScript. Quando estiver tudo funcionando, implemente o AJAX Compartilhar este post Link para o post Compartilhar em outros sites
Nerdmonkey 3 Denunciar post Postado Setembro 28, 2015 Tenta assim var dados = $( form ).serialize(); $.ajax({ url: 'sua_url', type: 'post', data: dados, dataType: 'json', success: function(callback){ if(callback.success){ // Return message success }else{ // do anything } } }); Lá no seu arquivo php que recebe os dados você codificar o resultado, por exemplo: $myVar = ['success' => True]; echo json_encode($myVar); Posta ai o seu arquivo php que está recebendo as informações do ajax caso não de certo. Compartilhar este post Link para o post Compartilhar em outros sites
sergioas 0 Denunciar post Postado Setembro 28, 2015 Evandro Oliveira: Fiz sem o jquery/ajax, e estava funcionando.... mas ai quando tentei com o ajax, nao funfou mais.... NerdMonkey: Realmente nao vai, o .php nao recebe arquivos... Pesquisei, e vi este topico aqui mesmo no Forum: http://forum.imasters.com.br/topic/391531-resolvidojquery-enviar-files-via-ajax/ Entao, acredito que ajax nao envia arquivos... Vou ter que fazer via Form - action..e dando tudo OK, direciono via php mesmo para a mesma pagina.... Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Setembro 28, 2015 É possível, sim. Inclusive há plug-ins do jQuery que fazem isso bem simples A ideia geral está aqui: http://abandon.ie/notebook/simple-file-uploads-using-jquery-ajax Compartilhar este post Link para o post Compartilhar em outros sites