estou tentanto fazer um script enviar um arquivo para o servidor e gravar o nome dele no banco de dados, mais não estou tendo sucesso, ja li varios topicos sobre o assunto mais não sai nada.
Ele é um sisteminha simples, tem alguns input numa pagina chamada cadastra.php que são enviados no metodo POST para a pagina inserir.php
Não aparece nenhuma mensagem de erro, ele apenas não envia a imagem e não grava nada no banco de dados...
cadastra.php (exemplo)
<form action='inserir.php' method='post' enctype="multipart/form-data" name="up_form" id="up_form"> <input name="arquivo" type="file" class="caixa" id="arquivo" size="25"> <input type="text" name="descricao" size="51" class="caixa"> <input name="enviar" onclick="desabilita();" type="submit" class="botao" id="enviar" style="border: 1px #000000 solid" value="Enviar">
inserir.php
<? include "valida_login.php"; ?>
<link href="css.css" rel="stylesheet" type="text/css">
<? include "valida_login.php"; ?>
<link href="css.css" rel="stylesheet" type="text/css">
<?php
include("includes/config.php");
//UpLoad da Imagem e Gravar no Banco de dados
$nome = $_FILES["arquivo"]["name"]; //pega o nome do arquivo
$temp_nome = $_FILES["arquivo"]["tmp_name"]; //pega o "temp" do arquivo
$tipo = $_FILES["arquivo"]["type"]; //pega o tipo do arquivo
$tamanho = $_FILES["arquivo"]["size"]; //pega o tamanho do arquivo
$t_maximo = 200000000; //tamanho máximo do arquivo - em bytes
$diretorio = "/uploads/"; //pasta onde o arquivo será gravado
if ($nome == "") { //checa se o campo não foi enviado vazio
$erro = "Escolha um arquivo á ser enviado";
} elseif (ereg("[][><}{)(:;,!?*%&#@]", $nome)) { //checa caracteres inválidos (aconselho não modificar)
$erro = "O nome do arquivo contém caracteres inválidos";
} elseif ($tamanho > $t_maximo) { //checa se o arquivo não ultrapassou o limite
$erro = "O tamanho máximo permitido é de 2MB";
} elseif (!eregi("[gif|jpeg|jpg]", $tipo)) { //checa a extensão do arquivo - para liberar mais tipos, apenas acrescente "|extensão do arquivo" ex: [gif|jpeg|jpg|png]
$erro = "Tipo de arquivo inválido";
} elseif (!is_file($nome)) { //checa se é mesmo um arquivo
$erro = "Selecione um <u>arquivo</u> á ser enviado";
} elseif (is_dir($nome)) { //checa se não é um diretório
$erro = "Selecione um <u>arquivo</u> á ser enviado";
} elseif (file_exists("$diretorio"."$nome")) { //checa se o arquivo já existe no diretório
$erro = "Já existe um arquivo com este nome, por favor, renomeie-o";
}
if ($erro == "") { //se não ocorreram erros, vamo gravar o arquivo no server e no db
move_uploaded_file($temp_nome, $diretorio.$nome); //grava o arquivo na pasta do server que foi especificada
$insert = " INSERT INTO arquivos (url) VALUES ('$nome') "; //gravando os dados no db
$sql_ins = mysql_query($insert) or die ("Não foi possível inserir os valores no banco de dados"); // ''
}
// Aqui ele verifica se as variaves estão vazias
if(empty($_POST['titulo']) || empty($_POST['descricao']) || empty($_POST['area']) || empty($_POST['dupli']))
{
echo "<script>window.alert(\"Todos os campos são Obrigatórios\");</script>";
}
elseif(isset($erro))
{
echo "<script>window.alert(\"Não foi possivel Adicionar a noticia.\");</script>";
}
else
{
$sql = "INSERT INTO arquivos (titulo, descricao, autor, site, data, cliques, imagem, area, dupli) VALUES ('$titulo', '$descricao', '$autor', '$site', '$data', '$cliques', '$imagem', '$area', '$dupli')";
//Agora é hora de contatar o mysql
//Inserindo os dados
$sql = mysql_query($sql)
or die("Houve erro na gravação dos dados, por favor, clique em voltar e verifique os campos obrigatórios!");
echo "<script>window.alert(\"Download adicionado com sucesso!!!\");</script>";
}
echo "<meta http-equiv='refresh' content='0;URL=cadastra.php'>";
?>Obrigado.










