Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Niick

[Resolvido] Upload de imagens

Recommended Posts

Olá , sou novo aqui no Imasters e novo no PHP

 

Preciso de ajuda !!

 

é o seguinte :

 

estou fazendo um sistema de noticias com imagem

meu codigo está assim:

<?php

 

$titulo = $_POST["titulo"];

 

$tutorial= $_POST["tutorial"];

 

$categoria = $_POST["categoria"];

 

$imagem = $_POST["imagem"];

 

$destino = "img/";

 

$sql = "INSERT INTO tutoriais (id, titulo, categoria, imagem, tutorial) VALUES

('','$titulo','$categoria','$imagem','$tutorial')";

 

mysql_query($sql);

 

move_uploaded_file($_FILES['imagem'] ['tmp_name'],$destino);

 

 

?>

Mas da erro ...

Me ajudem Pfv

 

:(

 

edit:

 

seguinte erro:

 

Não move a foto para o destino

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem Vindo ~

tente assim , afinal qual o Erro ?

<?php
$titulo = $_POST["titulo"];
$tutorial= $_POST["tutorial"];
$categoria = $_POST["categoria"];
$imagem = $_POST["imagem"];
$destino = "./img/";
$sql = "INSERT INTO `tutoriais` (`id`, `titulo`, `categoria`, `imagem`, `tutorial`) VALUES  ('','$titulo','$categoria','$imagem','$tutorial')";
mysql_query($sql);
move_uploaded_file($_FILES['imagem']['tmp_name'],$destino);
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem Vindo ~

tente assim , afinal qual o Erro ?

<?php
$titulo = $_POST["titulo"];
$tutorial= $_POST["tutorial"];
$categoria = $_POST["categoria"];
$imagem = $_POST["imagem"];
$destino = "./img/";
$sql = "INSERT INTO `tutoriais` (`id`, `titulo`, `categoria`, `imagem`, `tutorial`) VALUES  ('','$titulo','$categoria','$imagem','$tutorial')";
mysql_query($sql);
move_uploaded_file($_FILES['imagem']['tmp_name'],$destino);
?>

 

deu o seguinte erro:

 

 

Warning: move_uploaded_file(./img/) [function.move-uploaded-file]: failed to open stream: Permission denied in C:\Program Files (x86)\VertrigoServ\www\v2\admin\add.php on line 73

 

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\Users\Vieira\AppData\Local\Temp\phpEF6D.tmp' to './img/' in C:\Program Files (x86)\VertrigoServ\www\v2\admin\add.php on line 73

Compartilhar este post


Link para o post
Compartilhar em outros sites

Niick , simples ..

 

<?php
$titulo = $_POST["titulo"];
$tutorial= $_POST["tutorial"];
$categoria = $_POST["categoria"];
$imagem = $_POST["imagem"];
$destino = "./img/";
chmod($destino, 0777);
$sql = "INSERT INTO `tutoriais` (`id`, `titulo`, `categoria`, `imagem`, `tutorial`) VALUES  ('','$titulo','$categoria','$imagem','$tutorial')";
mysql_query($sql);
move_uploaded_file($_FILES['imagem']['tmp_name'],$destino);
?>

 

Poste o resultado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu prefiro dar permissao direto no gerenciador de ftp

 

Acredito que seu codigo deveria ser assim:

<?php
$titulo = $_POST["titulo"];
$tutorial= $_POST["tutorial"];
$categoria = $_POST["categoria"];
$imagem = $_POST["imagem"];
$foto_img = $_FILES['foto_img'];
$tmpimg = $_FILES['foto_img']['tmp_name'];

// Pega extensão da imagem

               preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $foto_img["name"], $ext);

               // Gera um nome único para a imagem
               $temp = substr(md5(uniqid(time())), 0, 10);
               $nome_imagem = $temp . "." . $ext[1];
               // Caminho de onde ficará a imagem
               $diretorio = "img/". $nome_imagem;


                       // Faz o upload da imagem para seu respectivo caminho
                       move_uploaded_file($foto_img["tmp_name"], $diretorio);
$sql = "INSERT INTO `tutoriais` (`id`, `titulo`, `categoria`, `imagem`, `tutorial`) VALUES  ('','$titulo','$categoria','$imagem','$tutorial')";
mysql_query($sql);
move_uploaded_file($_FILES['imagem']['tmp_name'],$destino);
?>

 

Pra mim sempre funciona.

Obs. Este script nao é todo meu. E peguei uma parte que achei em algum lugar na net e fiz algumas inplementações.

Mas é funcional!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu prefiro dar permissao direto no gerenciador de ftp

 

Acredito que seu codigo deveria ser assim:

<?php
$titulo = $_POST["titulo"];
$tutorial= $_POST["tutorial"];
$categoria = $_POST["categoria"];
$imagem = $_POST["imagem"];
$foto_img = $_FILES['foto_img'];
$tmpimg = $_FILES['foto_img']['tmp_name'];

// Pega extensão da imagem

               preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $foto_img["name"], $ext);

               // Gera um nome único para a imagem
               $temp = substr(md5(uniqid(time())), 0, 10);
               $nome_imagem = $temp . "." . $ext[1];
               // Caminho de onde ficará a imagem
               $diretorio = "img/". $nome_imagem;


                       // Faz o upload da imagem para seu respectivo caminho
                       move_uploaded_file($foto_img["tmp_name"], $diretorio);
$sql = "INSERT INTO `tutoriais` (`id`, `titulo`, `categoria`, `imagem`, `tutorial`) VALUES  ('','$titulo','$categoria','$imagem','$tutorial')";
mysql_query($sql);
move_uploaded_file($_FILES['imagem']['tmp_name'],$destino);
?>

 

Pra mim sempre funciona.

Obs. Este script nao é todo meu. E peguei uma parte que achei em algum lugar na net e fiz algumas inplementações.

Mas é funcional!!

 

de qualquer forma ele vai ter que da permisao de gravar , nao presisa ser o 0777 , pode ser so um de gravar mesmo .. e esse script vai da erro caso ele não tenha permisão de gravar na pasta ;)

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se eu nao estiver errado

Acho que é só fazer uma implementação assim:

 

<?php
$titulo = $_POST["titulo"];
$tutorial= $_POST["tutorial"];
$categoria = $_POST["categoria"];
$imagem = $_POST["imagem"];
$foto_img = $_FILES['foto_img'];
$tmpimg = $_FILES['foto_img']['tmp_name'];
$diretorio = "img/"; // alteração => Adicionei aqui
chmod($diretorio, 0777); // alteração => E aqui tambem


// Pega extensão da imagem

               preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $foto_img["name"], $ext);

               // Gera um nome único para a imagem
               $temp = substr(md5(uniqid(time())), 0, 10);
               $nome_imagem = $temp . "." . $ext[1];
               // Caminho de onde ficará a imagem
               $diretorio = "img/". $nome_imagem;


                       // Faz o upload da imagem para seu respectivo caminho
                       move_uploaded_file($foto_img["tmp_name"], $diretorio);
$sql = "INSERT INTO `tutoriais` (`id`, `titulo`, `categoria`, `imagem`, `tutorial`) VALUES  ('','$titulo','$categoria','$imagem','$tutorial')";
mysql_query($sql);
move_uploaded_file($_FILES['imagem']['tmp_name'],$destino);
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

o erro já diz: você não tem permissão de escrita em ./img.

dê permissão de escrita nesse diretório

 

Que SO está rodando?

 

 

Estou usando o Win 7 se possivel , me diga como eu posso dar permição

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.