Nigol 0 Denunciar post Postado Janeiro 21, 2011 OLá estou fazendo um site onde terei de fazer um upload e uma inserção do endereço do arquivo inserido no banco de dados. mas não estou conseguindo fazer nem o upload do arquivo, viasto que os scripts que encontrei necessitam fazer o upload antes do envio do formulário e o que gostaria é que ao mesmo tempo (para o usuário) eu enviasse o arquivo e inserisse no banco. Página que envia o arquivo. <div class='tabela'> <form method=POST action='addPratica.php'> <table> <tr class='escura'> <td id='esquerda'>Título da Prática:</td> <td id='direita'><INPUT type='text' name='titulo' value='' size=40></td> </tr> <tr class='clara'> <td id='esquerda'>Fase da prática:</td> <td id='direita'> <select name=fase > <option name=plan value=Planejamento> Planejamento </option> <option name=cod value=Codificação > Codificação </option> <option name=QA value=Qualificação> Qualificação</option> <option name=com value=Comunicação> Comunicação </option> </select> </td> </tr> <tr class='escura'> <td id='esquerda'>Função:</td> <td id='direita'><INPUT type='text' name='funcao' value='' size=40></td> </tr> <tr class='clara'> <td id='esquerda'>Tema:</td> <td id='direita'><INPUT type='text' name='tema' value='' size=40></td> </tr> <tr class='escura'> <td id='esquerda'>Projeto(s):</td> <td id='direita'><INPUT type='text' name='projeto' value='' size=40></td> </tr> <tr class='clara'> <td id='esquerda'>Cliente:</td> <td id='direita'><INPUT type='text' name='cliente' value='' size=40></td> </tr> <tr class='escura'> <td id='esquerda'>Descrição Detalhada:</td> <td id='direita'><textarea name='descricao' rows=4 cols=29></textarea></td> </tr> <tr class='clara'> <td id='esquerda'>Documentação:</td> <td id='direita'><input type="file" name="ufile" id="ufile" /></td> </tr> <tr class='escura'> <td id='esquerda'>Resultado:</td> <td id='direita'><INPUT type='text' name='resultado' value='' size=40></td> </tr> <tr class='clara'> <td id='esquerda'>Busca:</td> <td id='direita'><INPUT type='text' name='busca' value='' size=40></td> </tr> </table> <div align='right'> <button type='submit' name='sub' >Cadastrar</button> <button type=RESET >Limpar Campos</button> <button type='button' onclick=javascript:window.open('main.php','_self')>Voltar</button> <INPUT Type='hidden' name='tipo' VALUE='0'> </div> </form> </div> Página que recebe o $_POST para envio do arquivo e inserção no BD <?php ob_start(); session_start(); print_r ($_FILES); if($_SESSION['validacao']==1){ $dataNome=date(z); if ($_FILES["file"]["size"] < 20000){ $data=date(z); if ($_FILES["file"]["error"] > 0){ echo "Return Code: " . $_FILES["file"]["error"] . "<br />"; } else{ echo "Upload: " . $_FILES["file"]["name"] . "<br />"; echo "Type: " . $_FILES["file"]["type"] . "<br />"; echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />"; echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />"; if (file_exists("upload/" . $_FILES["file"]["name"])){ $_FILES["file"]["name"].=$data; move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $_FILES["file"]["name"]); echo "Stored in: " . "upload/" . $_FILES["file"]["name"]; } else{ move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $_FILES["file"]["name"]); echo "Stored in: " . "upload/" . $_FILES["file"]["name"]; } } } else{ } include ('/includes/inc_conexao.php'); //definicoes das variaveis $tabela1='pr_praticas'; $data=date('Y-m-d H:i:s'); $_POST['setor']=0; //Inseridno os dados na tabela $inserir = "INSERT INTO `pr_praticas` (`pr_cod_pratica` ,`pr_tipo` ,`pr_titulo` ,`pr_fase` ,`pr_setor` ,`pr_user` ,`pr_data_criacao` ,`pr_data_atualizacao` ,`pr_status`)VALUES (NULL , '{$_POST['tipo']}', '{$_POST['titulo']}', '{$_POST['fase']}', '0', '{$_SESSION['nome']}', '{$data}',CURRENT_TIMESTAMP , '0');"; mysql_query($inserir)or die(mysql_error()."ERRO AO INSERIR NA TABELA"); //Seleciona o último elemento da tabela pr_pratica $sql="SELECT * FROM $tabela1 WHERE `pr_cod_pratica` IN (SELECT MAX(`pr_cod_pratica`) FROM $tabela1) "; $query = mysql_query( $sql )or die( mysql_error() ); $dados = mysql_fetch_assoc( $query ); $inserido=$dados['pr_cod_pratica']; if($_POST['tipo']==0){ $tabela='pr_sucesso'; $insere=" INSERT INTO $tabela(`pr_sucesso_cod`,`pr_sucesso_nome`,`pr_sucesso_funcao`,`pr_sucesso_tema`,`pr_sucesso_projeto`,`pr_sucesso_cliente`,`pr_sucesso_desc`,`pr_sucesso_doc`,`pr_sucesso_result`,`pr_sucesso_busca`) Values ( '{$dados['pr_cod_pratica']}','{$_SESSION['nome']}','{$_POST['funcao']}','{$_POST['tema']}','{$_POST['projeto']}','{$_POST['cliente']}','{$_POST['descricao']}','{$_POST['doc']}','{$_POST['resultado']}','{$_POST['busca']}')"; } else{ $tabela='pr_insucesso'; $insere=" INSERT INTO $tabela(`pr_insucesso_cod`,`pr_insucesso_nome`,`pr_insucesso_motivo` ,`pr_insucesso_mitigar`,`pr_insucesso_contexto`)VALUES('{$dados['pr_cod_pratica']}','{$_POST['nome']}','{$_POST['motivo']}' ,'{$_POST['mitigar']}','{$_POST['contexto']}')"; } mysql_query($insere)or die(mysql_error()."ERRO AO INSERIR NA TABELA2"); $log=$_SESSION['nome']." - ADD PRATICE- ".$inserido; $sqlLog = "INSERT INTO `pr_logs` VALUES (NULL, '".$data."', '".$log."')"; mysql_query($sqlLog)or die(mysql_error()."ERRO AO INSERIR LOG"); if($_POST['tipo']==0){ // header("Location: adicionarPratica.php?sucesso=1"); } else{ // header("Location: adicionarPratica.php?insucesso=1"); } } else{ header("Location: admin.php?erro=1"); } ob_end_flush(); ?> Compartilhar este post Link para o post Compartilhar em outros sites
rohde 3 Denunciar post Postado Janeiro 21, 2011 cara pega aew codigo rodando perfeito e todo comentado :) form <form name="upload_imagem" method="post" enctype="multipart/form-data" action="upload.php"> <table> <tr><td><input type="file" name="image"></td></tr> <tr><td><input name="Submit" type="submit" value="Upload"></td></tr> </table> </form> upload.php <? //Define o tamanho máximo da imagem define ("MAX_SIZE","100"); //Define a largura máxima que a imagem pode ter define ("LARGURA","800"); //Verifica se o botão de upload foi pressionado if(isset($_POST['upload'])){ //Guarda na variavél $image o nome completo da imagem (nome+extensão) $image = $_FILES['file']['name']; //Verifica se existe alguma imagem para ser importada if($image){//Existe uma imagem para ser importada //Retira os elementos "/" $filename = stripslashes($_FILES['file']['name']); //Verifica qual a extensão do ficheiro $extension = getExtension($filename); //Coloca todos os caracteres da extensão com letra minuscula $extension = strtolower($extension); //Verifica os formatos de imagem que podem ser importados if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "gif") && ($extension != "png")){//Formato diferente dos permitidos //mostra uma mensagem de erro echo "<strong>Imagem:</strong> Este formato não pode ser importado! Utilize o formato jpg ou gif"; } else {//Formato permitido //Verifica qual o tamanho da imagem seleccionada $size=filesize($_FILES['file']['tmp_name']); //Guarda o tamanho da imagem seleccionada $tamanho = getimagesize($_FILES['file']['tmp_name']); $largura = $tamanho[0];//Posição 0 do array-> largura da imagem $altura = $tamanho[1];//Posição 1 do array-> altura da imagem //Verifica se o tamanho é superior ao máximo em kb if ($size > MAX_SIZE*1024){//tamanho superior echo 'A imagem não pode exceder o tamanho de '. MAX_SIZE .'KB'; } else if ($largura > LARGURA) { echo 'A imagem que pretende inserir não pode exceder a largura de'. LARGURA .'PX'; } else {//tamanho inferior //Gera um nome para a imagem $image_name=time().'.'.$extension; //Directoria para a qual a imagem será enviada $newname="fotos/".$image_name; //Efectua o upload da imagem para a directoria $copied = copy($_FILES['file']['tmp_name'], $newname); //Verifica se o upload foi efectuado com sucesso if ($copied){ //Upload bem sucessido echo "Upload da imagem foi efectuado com sucesso"; //AQUI você COLOCA OS INSERT DO MYSQL, O LOCAL AONDE A IMAGE FOI SALVA FICA NA VAR $NEWNAME } else {//Upload mal sucessido echo "Não foi possivél efectuar o upload da imagem"; } } } } else {//Não existe nenhuma imagem para ser importada echo "Seleccione uma imagem"; } } // Função que permite saber qual a extensão da imagem function getExtension($str){ $i = strrpos($str,"."); if (!$i) return ""; $l = strlen($str) - $i; $ext = substr($str,$i+1,$l); return $ext; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Nigol 0 Denunciar post Postado Janeiro 21, 2011 Muuuito Obrigado graças a seu código achjei meu erro... era o enctype que não estavadeifinod :D resolvidooooooooo :D Compartilhar este post Link para o post Compartilhar em outros sites
rohde 3 Denunciar post Postado Janeiro 21, 2011 :D Compartilhar este post Link para o post Compartilhar em outros sites