Chaparro 0 Denunciar post Postado Julho 13, 2010 Boa tarde, estou com o seguinte erro... Tenho um pequeno formulário no qual ele guarda todas as informações no banco de dados... O modo de inserção está correto, pois todos os dados menos a imagem está inserindo corretamente no banco, ai que acontece que o caminho da imagem ao inves de salvar na pasta e no banco o que eu quero salvar ele salva dentro da pasta temp um arquivo C:\WINDOWS\Temp\php43C3.tmp e quando entro nessa pasta não existe esse arquivo... Eu preciso que ele salve a imagem que eu quero subir para a pasta correta... Alguem pode me ajudar?? Segue abaixo o código.... <? require_once('include/conexaoMS.php'); ?> <?php if($_POST["acao"] == "cadastrar") { $titulo = $_POST["titulo"]; $data = date("Y-m-d", strtotime($_POST["data"])); $hora = $_POST["hora"]; $ArquivoNome = $_FILES['arquivo']['name']; $ArquivoTipo = $_FILES['arquivo']['type']; $ArquivoSize = $_FILES['arquivo']['size']; $foto = $_FILES['foto']['tmp_name']; $ErroUpload = $_FILES['arquivo']['error']; //$dirBase = $_SERVER['DOCUMENT_ROOT'].'../institucionais/correio_escola/tiras/tirinhas/' .$ArquivoNome; $sql = "INSERT INTO cosmo_correio_escola_tirinhas ([tirinha_titulo] ,[tirinha_data], [tirinha_imagem], [tirinha_status]) VALUES ('".$titulo."','".$data." ".$hora."','".$foto."',1)"; if($rs = @sqlsrv_query($conn, $sql, array(), array("Scrollable" => SQLSRV_CURSOR_KEYSET))) { echo ('<center>Cadastro efetuado com Sucesso!</center>'); }else{ if (count($error) == 0) { // Pega extensão da imagem preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $foto["name"], $ext); // Gera um nome único para a imagem $nome_imagem = md5(uniqid(time())) . "." . $ext[1]; $dirBase = "../institucionais/correio_escola/tiras/tirinhas/" . $ArquivoNome; } if($ArquivoTipo=="application/octet-stream"){ echo("<script> alert('Anexo não pode ser enviado, pois pode conter vírus!'); history.go(-1)</script>"); }else{ if (!isset($ArquivoNome) || empty($ArquivoNome)){ }else{ if ($ArquivoSize > 5500000) { echo("<script> alert('Anexo pode ter no maximo 5.5 MegaBytes!'); history.go(-1)</script>"); }else { chmod($dirBase, 0777); if (is_uploaded_file($foto)) { if (move_uploaded_file($foto["tmp_name"], $dirBase)) { } } } } } } } // Se houver mensagens de erro, exibe-as if (count($error) != 0) { foreach ($error as $erro) { echo $erro . "<br />"; } } ?> <link rel="stylesheet" type="text/css" href="admin.css"> <div style="width:100% "> <div id="geral"> <? include("menu.php")?> <div class="geral_dir"> <div id="conteudo_mostrar"> <div style="width:330px; margin-left:75px; display:block; margin-top:80px; "> <form name="form1" method="post" action="cadastrar_tirinhas.php" enctype="multipart/form-data"> <table class="tit" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="60" height="28"><b>Titulo:</b></td> <td width="220"><input name="titulo" class="borda" style="width:220px; height:18px" id="titulo" type="text"></td> </tr> </table> <table class="tit" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="60" height="28"><b>Data:</b></td> <td width="80"><input name="data" class="borda" id="data" value="<? echo date("d/m/Y"); ?>" style="width:70px" type="text"> </td> <td width="40"><b>Hora:</b></td> <td width="80"> <input name="hora" class="borda" id="hora" value="<? echo date("G:H:s"); ?>" style="width:80px" type="text"> </td> </tr> <tr> <td width="60" height="28"><b>Imagen:</b></td> <td colspan="3"><input class="borda" name="foto" id="foto" style="width:220px; height:18px" type="file"></td> </tr> <tr> <td colspan="4" height="50" style="text-align:center; vertical-align:middle "> <input type="hidden" name="acao" value="cadastrar"> <input type="submit" name="Submit" value="Cadastrar"> </td> </tr> </table> </form> </div> </div> </div> </div> </div> Bom dia Pessoal, agora não sei porque cargas d´aguas não esta mais cadastrando... Eu pedi para exibir o insert... (INSERT INTO cosmo_correio_escola_tirinhas ([tirinha_titulo] ,[tirinha_data], [tirinha_imagem], [tirinha_status]) VALUES ('teste','1969-12-31 11:11:32','C:\WINDOWS\Temp\php4630.tmp',1) Ai fui no banco e pedi para inserir manual... O seguinte erro apareceu "A conversão do tipo de dados char no tipo de dados smalldatetime resultou em um valor smalldatetime fora do intervalo. A instrução foi finalizada." Se eu tirar o campo data funciona normal... Estranho ontem estava normal... Agora não esta mais funcionando... Alguem pode me ajudar??? Compartilhar este post Link para o post Compartilhar em outros sites
Chaparro 0 Denunciar post Postado Julho 14, 2010 Sobre gravar a data e hora no banco de dados beleza, consegui fazer grava-la novamente, apenas troque a linha para $data = date("d-m-Y", strtotime($_POST["data"])); Mais o estranho é que no banco ao invés de pegar a data correta do campo no qual aparece corretamente ele aparece sempre a data '31-12-1969'... Alguem pode me dizer o porque disso?? Ao invés de pegar a data correta no qual esta sendo exibida, quando ele vai salvar no banco grava somente essa data.... E também ainda não descobri como inserir o caminho e a pasta correta da imagem que quero fazer Upload... Compartilhar este post Link para o post Compartilhar em outros sites
goruks 0 Denunciar post Postado Julho 14, 2010 veja se a variavel esta recebendo correto a data $data = date("Y-m-d", strtotime($_POST["data"])); echo $data; exit(); Compartilhar este post Link para o post Compartilhar em outros sites
Chaparro 0 Denunciar post Postado Julho 14, 2010 veja se a variavel esta recebendo correto a data $data = date("Y-m-d", strtotime($_POST["data"])); echo $data; exit(); Antes ele já estava assim... Pega a data 1969-12-31 no caso eu tinha trocado a ordem "Y-m-d" para "d-m-y" para pegar a data com o formato que eu quero... Mais continua pegando a data 31-12-1969 Compartilhar este post Link para o post Compartilhar em outros sites
Chaparro 0 Denunciar post Postado Julho 15, 2010 Caros, consegui fazer o upload de imagens e gravar no banco tudo que eu quero da forma correta... Então o Upload de imagens gravadas na pasta no banco e na pasta online está funcionando 100% com o banco de dados SQL SERVER... segue abaixo o código de upload... <? require_once('include/conexaoMS.php'); ?> <? session_start(); if($_SESSION['s_login'] != "OK"){ header('Location: index.php'); } ?> <?php if($_POST["acao"] == "cadastrar") { $titulo = $_POST["titulo"]; $data = $_POST["data"]; $hora = $_POST["hora"]; $ArquivoNome = $_FILES['foto']['name']; $ArquivoTipo = $_FILES['foto']['type']; $ArquivoSize = $_FILES['foto']['size']; $ArquivoTemp = $_FILES['foto']['tmp_name']; $ErroUpload = $_FILES['foto']['error']; $dirBase = $_SERVER['DOCUMENT_ROOT']."PASTA ONDE VAI SER GRAVADAS AS IMAGENS"; if (!isset($ArquivoNome) || empty($ArquivoNome)) { echo("<script language='javascript'>alert('Selecione uma imagem para gravar');history.go(-1);</script>"); }else { if ($ArquivoSize > 5500000) { //5.5 MegaBytes echo "Foto com no maximo 5.5 MegaBytes"; exit(); } switch($type) { case 1: $extensao = "gif"; break; case 2: $extensao = "jpg"; break; } $nomeImagem = date('dmYHis')."_tirinha.".$extensao."jpg"; if (is_uploaded_file($ArquivoTemp)) { if (move_uploaded_file($ArquivoTemp, $dirBase.$nomeImagem)) { $sql = "INSERT INTO cosmo_correio_escola_tirinhas (tirinha_titulo, tirinha_data, tirinha_imagem, tirinha_status) VALUES ('".$titulo."','".$data." ".$hora."','".$nomeImagem."',1)"; $rs = @sqlsrv_query($conn, $sql, array(), array("Scrollable" => SQLSRV_CURSOR_KEYSET)); echo("<script language='javascript'>alert('Cadastro efetuado com sucesso');</script>"); }else { echo "ERRO ao copiar para a pasta!"; } }else { echo "Erro ao fazer o Upload, tente novamente!"; } } } ?> <link rel="stylesheet" type="text/css" href="admin.css"> <div style="width:100% "> <div id="geral"> <? include("menu.php")?> <div class="geral_dir"> <div id="conteudo_mostrar"> <div style="width:330px; margin-left:75px; display:block; margin-top:80px; "> <form name="form1" method="post" action="cadastrar_tirinhas.php" enctype="multipart/form-data"> <table class="tit" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="60" height="28"><b>Titulo:</b></td> <td width="220"><input name="titulo" class="borda" style="width:220px; height:18px" id="titulo" type="text"></td> </tr> </table> <table class="tit" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="60" height="28"><b>Data:</b></td> <td width="80"><input name="data" class="borda" id="data" value="<? echo date("d/m/Y"); ?>" style="width:70px" type="text"> </td> <td width="40"><b>Hora:</b></td> <td width="80"> <input name="hora" class="borda" id="hora" value="<? echo date("H:i"); ?>" style="width:80px" type="text"> </td> </tr> <tr> <td width="60" height="28"><b>Imagen:</b></td> <td colspan="3"><input class="borda" name="foto" id="foto" style="width:220px; height:18px" type="file"></td> </tr> <tr> <td colspan="4" height="50" style="text-align:center; vertical-align:middle "> <input type="hidden" name="acao" value="cadastrar"> <input type="submit" name="Submit" value="Cadastrar"> </td> </tr> </table> </form> </div> </div> </div> </div> </div> OBS: Moderador se quiser pode fechar o tópico ou então coloca-lo como tutorial... Pois está funcionamento 100% - Upload de imagens no banco + SQL SERVER Compartilhar este post Link para o post Compartilhar em outros sites