Amigos, este ai é um codigo de cadastro de um Weblogger que estou desenvolvendo só que estou com grande problema na hora de cadastra nesse script ele ta fazendo o cadastro normalmente esta jogando a imagem na pasta e tals só que o problema esta ocorrendo na hora que vai exibir a imagem ele não esta mandando pro banco de dados a URL da imagem ou seja não esta mandando nada para o campo foto que deveria ser /fotos/ksoaks.jpg ? como eu faço isso ?
<?php
// Prepara a variável caso o formulário tenha sido postado
$arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE;
$config = array();
// Tamano máximo da imagem, em bytes
$config["tamanho"] = 106883;
// Largura Máxima, em pixels
$config["largura"] = 350;
// Altura Máxima, em pixels
$config["altura"] = 250;
// Diretório onde a imagem será salva
$config["diretorio"] = "fotos/";
// Gera um nome para a imagem e verifica se já não existe, caso exista, gera outro nome e assim sucessivamente..
// Função Recursiva
function nome($extensao)
{
global $config;
// Gera um nome único para a imagem
$temp = substr(md5(uniqid(time())), 0, 10);
$imagem_nome = $temp . "." . $extensao;
// Verifica se o arquivo já existe, caso positivo, chama essa função novamente
if(file_exists($config["diretorio"] . $imagem_nome))
{
$imagem_nome = nome($extensao);
}
return $imagem_nome;
}
if($arquivo)
{
$erro = array();
// Verifica o mime-type do arquivo para ver se é de imagem.
// Caso fosse verificar a extensão do nome de arquivo, o código deveria ser:
//
// if(!eregi("\.(jpg|jpeg|bmp|gif|png){1}$", $arquivo["name"])) {
// $erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg, bmp, gif ou png. Envie outro arquivo"; }
//
// Mas, o que ocorre é que alguns usuários mal-intencionados, podem pegar um vírus .exe e simplesmente mudar a extensão
// para alguma das imagens e enviar. Então, não adiantaria em nada verificar a extensão do nome do arquivo.
if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $arquivo["type"]))
{
$erro[] = "Arquivo em formato 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";
}
}
if(!sizeof($erro))
{
// Pega extensão do arquivo, o indice 1 do array conterá a extensão
preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext);
// Gera nome único para a imagem
$imagem_nome = nome($ext[1]);
// Caminho de onde a imagem ficará
$imagem_dir = $config["diretorio"] . $imagem_nome;
// Faz o upload da imagem
move_uploaded_file($arquivo["tmp_name"], $imagem_dir);
}
}
if ($nome != "") {
include("conexao.php");
$conexao = @mysql_connect($host,$user,$pass)
or die("Cadastro");
$query = "INSERT INTO blog VALUES ('$id','$nome','$email','$mensagem','$foto')";
mysql_select_db($db);
mysql_query($query,$conexao);
echo " ENVIADO <script>window.location='blog.php';</script>";
}
else {
?>
<form action="<?echo $PHP_SELF?>" method=post ENCTYPE="multipart/form-data">
<input type="hidden" name="cat" value="<?echo $id?>">
Nome:<input type="text" name="nome" size="45"><br>
email:
<input type="text" name="email" size="45">
<br>
mensagem:
<input type="text" name="mensagem" size="45">
<br>
<br>
imagem:
<input type=file size=30 name=foto>
<br>
<br>
<input type="submit" value="::: Adicionar Noticia :::" name="B3" ><?php
}
?>
Pergunta
otaviojames
Amigos, este ai é um codigo de cadastro de um Weblogger que estou desenvolvendo só que estou com grande problema na hora de cadastra nesse script ele ta fazendo o cadastro normalmente esta jogando a imagem na pasta e tals só que o problema esta ocorrendo na hora que vai exibir a imagem ele não esta mandando pro banco de dados a URL da imagem ou seja não esta mandando nada para o campo foto que deveria ser /fotos/ksoaks.jpg ? como eu faço isso ?
<?php // Prepara a variável caso o formulário tenha sido postado $arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE; $config = array(); // Tamano máximo da imagem, em bytes $config["tamanho"] = 106883; // Largura Máxima, em pixels $config["largura"] = 350; // Altura Máxima, em pixels $config["altura"] = 250; // Diretório onde a imagem será salva $config["diretorio"] = "fotos/"; // Gera um nome para a imagem e verifica se já não existe, caso exista, gera outro nome e assim sucessivamente.. // Função Recursiva function nome($extensao) { global $config; // Gera um nome único para a imagem $temp = substr(md5(uniqid(time())), 0, 10); $imagem_nome = $temp . "." . $extensao; // Verifica se o arquivo já existe, caso positivo, chama essa função novamente if(file_exists($config["diretorio"] . $imagem_nome)) { $imagem_nome = nome($extensao); } return $imagem_nome; } if($arquivo) { $erro = array(); // Verifica o mime-type do arquivo para ver se é de imagem. // Caso fosse verificar a extensão do nome de arquivo, o código deveria ser: // // if(!eregi("\.(jpg|jpeg|bmp|gif|png){1}$", $arquivo["name"])) { // $erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg, bmp, gif ou png. Envie outro arquivo"; } // // Mas, o que ocorre é que alguns usuários mal-intencionados, podem pegar um vírus .exe e simplesmente mudar a extensão // para alguma das imagens e enviar. Então, não adiantaria em nada verificar a extensão do nome do arquivo. if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $arquivo["type"])) { $erro[] = "Arquivo em formato 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"; } } if(!sizeof($erro)) { // Pega extensão do arquivo, o indice 1 do array conterá a extensão preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext); // Gera nome único para a imagem $imagem_nome = nome($ext[1]); // Caminho de onde a imagem ficará $imagem_dir = $config["diretorio"] . $imagem_nome; // Faz o upload da imagem move_uploaded_file($arquivo["tmp_name"], $imagem_dir); } } if ($nome != "") { include("conexao.php"); $conexao = @mysql_connect($host,$user,$pass) or die("Cadastro"); $query = "INSERT INTO blog VALUES ('$id','$nome','$email','$mensagem','$foto')"; mysql_select_db($db); mysql_query($query,$conexao); echo " ENVIADO <script>window.location='blog.php';</script>"; } else { ?> <form action="<?echo $PHP_SELF?>" method=post ENCTYPE="multipart/form-data"> <input type="hidden" name="cat" value="<?echo $id?>"> Nome:<input type="text" name="nome" size="45"><br> email: <input type="text" name="email" size="45"> <br> mensagem: <input type="text" name="mensagem" size="45"> <br> <br> imagem: <input type=file size=30 name=foto> <br> <br> <input type="submit" value="::: Adicionar Noticia :::" name="B3" ><?php } ?>Valewww galera esperu uma resposta!!
Link para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.