Em pesquisa na internet sobre meu dilema que já se leva dois dias, observei varias soluções a qual nenhuma se encaixou em meu dilema. Estou fazendo um pequena sistema em PHP com mysql onde é possível o cadastro do produto com foto. Porem as informações todas estão sendo salvas no banco, menos o nome da foto. Peço a ajuda de vocês pois já revirei e não encontro o erro.
Conexão com o banco:
<?php
// Conexão com o banco de dados
$conn =@mysql_connect("localhost","root","root")ordie("Problemas na conexão.");
$db =@mysql_select_db("gerenciador", $conn)ordie("Problemas na conexão");?>
<formaction=""method="post"enctype="multipart/form-data"name="cadastro">
Descrição:<br/><inputtype="text"name="descricao"size="100"/><br/><br/>
R$ Valor:<br/><inputtype="text"name="valor"size="100"/><br/><br/>
Categoria:<br/><inputtype="text"name="categoria"size="100"/><br/><br/>
Foto de exibição:<br/><inputtype="file"name="foto"size="100"/><br/><br/><inputtype="submit"name="cadastrar"value="Cadastrar"/><?php
// Se o usuário clicou no botão cadastrar efetua as açõesif(isset($_POST['cadastrar'])){// Recupera os dados dos campos
$descricao = $_POST['descricao'];
$valor = $_POST['valor'];
$categoria = $_POST ['categoria'];
$foto = $_FILES["foto"];
$nome_imagem ="";
$error = array();if(isset($_FILES['foto'])){
$foto = $_FILES['foto'];}// Se a foto estiver sido selecionadaif(!empty($_FILES['foto'])){// Largura máxima em pixels
$largura =150;// Altura máxima em pixels
$altura =180;// Tamanho máximo do arquivo em bytes
$tamanho =1000;// Verifica se o arquivo é uma imagemif(!preg_match("/^image\/(pjpeg|jpeg|png|gif|bmp)$/", $foto["type"])){
$error[1]="Isso não é uma imagem.";}// Pega as dimensões da imagem
$dimensoes = getimagesize($foto["tmp_name"]);// Verifica se a largura da imagem é maior que a largura permitidaif($dimensoes[0]> $largura){
$error[2]="A largura da imagem não deve ultrapassar ".$largura." pixels";}// Verifica se a altura da imagem é maior que a altura permitidaif($dimensoes[1]> $altura){
$error[3]="Altura da imagem não deve ultrapassar ".$altura." pixels";}// Verifica se o tamanho da imagem é maior que o tamanho permitidoif($foto["size"]> $tamanho){
$error[4]="A imagem deve ter no máximo ".$tamanho." bytes";}// Se não houver nenhum erroif(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];// Caminho de onde ficará a imagem
$caminho_imagem =".../gerenciador galaxy/Fotos/". $nome_imagem;
$nome_imagem = $nome_imagem;// Faz o upload da imagem para seu respectivo caminho
move_uploaded_file($foto["tmp_name"], $caminho_imagem);}if(count($error)!=0){foreach($error as $erro){
echo $erro ."<br />";}}}
$result = mysql_query ("INSERT INTO produtos(descricao, valor, categoria, foto)VALUE('$descricao', '$valor', '$categoria', '$nome_imagem')")ordie("Erro no query ".mysql_error());}?>
Utilizamos cookies e tecnologias semelhantes de acordo com a nossa Política de Privacidade, e ao continuar navegando, você concorda com estas condições.
Pergunta
anabon
Boa noite pessoal,
Em pesquisa na internet sobre meu dilema que já se leva dois dias, observei varias soluções a qual nenhuma se encaixou em meu dilema. Estou fazendo um pequena sistema em PHP com mysql onde é possível o cadastro do produto com foto. Porem as informações todas estão sendo salvas no banco, menos o nome da foto. Peço a ajuda de vocês pois já revirei e não encontro o erro.
Conexão com o banco:
Desde já agradeço que puder me ajudar!!!!
Link para o comentário
Compartilhar em outros sites
1 resposta 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.