To fazendo um form que envia dados e uma imagem. A imagem tem de ser gravada num servidor e seu nome ser gravado num BD junto com outras informações que tem no form.
Eu to ajeitando o código, ele tá inserindo os dados e o nome da imagem no BD, mas não manda a img pro Servidor. Podem ajudar a consertar?
[codebox]
<? include("conecta_mysql.php") ?>
<?
// variáveis
$nome = $_POST["nome"];
$descricao = $_POST["descricao"];
$dataenvio = date("Y/m/d");
$categoria = $_POST["categoria"];
//Fazendo o UPLOAD da img
$erro = $config = array();
// Prepara a variável do arquivo
$arquivo = isset($_FILES["foto"]) ?
$_FILES["foto"] : FALSE;
// Tamanho máximo do arquivo (em bytes)
$config["tamanho"] = 99106883;
// Largura máxima (pixels)
$config["largura"] = 350;
// Altura máxima (pixels)
$config["altura"] = 280;
// Formulário postado... executa as ações
if($arquivo)
{
// Verifica se o mime-type do arquivo é de imagem
if(!eregi("^image/(pjpeg|jpeg|png|gif|bmp)$",
$arquivo["type"]))
{
$erro[] = "Arquivo inválido!
A imagem deve ser jpg, jpeg, bmp, gif ou png. Envie outro arquivo";
}
else
{
// Verifica tamanho do arquivo
if($arquivo["size"] > $config["tamanho"])
{
$erro[] = "Arquivo em tamanho muito grande! A imagem deve ser de no máximo " . $config["tamanho"] . " bytes.
Envie outro arquivo";
}
// Para verificar as dimensões da imagem
$tamanhos = getimagesize($arquivo["tmp_name"]);
// Verifica largura
if($tamanhos[0] > $config["largura"])
{
$erro[] = "Largura da imagem não deve ultrapassar" . $config["largura"] . " pixels";
}
// Verifica altura
if($tamanhos[1] > $config["altura"])
{
$erro[] = "Altura da imagem não deve ultrapassar" . $config["altura"] . " pixels";
}
}
// Imprime as mensagens de erro
if(sizeof($erro))
{
foreach($erro as $err)
{
echo " - " . $err . "<BR>";
}
echo "<a href=\"produtos.php\">Problemas no envio da imagem. Tente cadastrar novamente em alguns minutos.</a>";
}
// Verificação de dados
// Nenhum erro, executa então o upload...
else
{
// Pega extensão do arquivo
preg_match("/.(gif|bmp|png|jpg|jpeg){1}$/i",
$arquivo["name"], $ext);
// Gera um nome único para a imagem
$imagem_nome = $arquivo["name"];
// Caminho de onde a imagem ficará
$imagem_dir = "clio2/";
// Faz o upload da imagem
move_uploaded_file($arquivo["tmp_name"] , $imagem_dir);
}
}
//Fim do UPLOAD
$sql = mysql_query("INSERT INTO produtos (nome, descricao, imagem, dataenvio, categoria, caminho) VALUES ('".$nome."', '".$descricao."', '".$imagem_nome."', '".$dataenvio."','".$categoria."', '".$imagem_dir."')");
if(!$sql){
echo "Erro ao tentar incluir registro: ".mysql_error();
}
else{
print "<script>alert('Novo produto cadastrado com sucesso!')</script>";
print "<script>window.location.replace('produtos.php')</script>";
}
?>
[/codebox]

Problemas Com Upload
Started By destrutorx, 05/10/2007, 16:41
3 replies to this topic
#1
Posted 05/10/2007, 16:41
#2
Posted 05/10/2007, 16:51
ai meu amigo.. eu tenhu esse codigo..
ve se serve para alguma coisa..
flw.. abraços
<?php if ((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/pjpeg")) && ($_FILES["file"]["size"] < 100000)) { if ($_FILES["file"]["error"] > 0) { echo "Error: " . $_FILES["file"]["error"] . "<br />"; } else { echo '<img src="'.$_FILES["file"]["name"].'"><br><br>'; echo "Nome " . $_FILES["file"]["name"] . "<br />"; echo "Tipo: " . $_FILES["file"]["type"] . "<br />"; echo "tamanho: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />"; echo "Onde encontra: " . $_FILES["file"]["tmp_name"]; move_uploaded_file($_FILES["file"]["tmp_name"],$_FILES["file"]["name"]); } } else { echo "Invalid file"; }?>
ve se serve para alguma coisa..
flw.. abraços
Edição feita por: boirock, 05/10/2007, 17:13.
Usar [ code ]
#3
Posted 05/10/2007, 17:22
Continuo não conseguindo enviar o arquivo pro servidor.
#4
Posted 05/10/2007, 17:57
Vc não disse qual erro tá apresentando.
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)