Niick 0 Denunciar post Postado Janeiro 28, 2011 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
InterPlanet 7 Denunciar post Postado Janeiro 28, 2011 Olá! Saudações e bem vindo! Qual o erro? Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Janeiro 28, 2011 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
Beraldo 864 Denunciar post Postado Janeiro 28, 2011 Bem-vindo ao fórum! Leia as recomendações: http://forum.imasters.com.br/index.php?/topic/375800-orientacoes-para-uma-boa-participacao/ Compartilhar este post Link para o post Compartilhar em outros sites
Niick 0 Denunciar post Postado Janeiro 29, 2011 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
Beraldo 864 Denunciar post Postado Janeiro 29, 2011 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? Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Janeiro 29, 2011 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
Beraldo 864 Denunciar post Postado Janeiro 29, 2011 chmod 777 é sinônimo de falta de segurança use por sua conta e risco Compartilhar este post Link para o post Compartilhar em outros sites
frequenciavirtual 0 Denunciar post Postado Janeiro 29, 2011 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
Andrey Knupp Vital 136 Denunciar post Postado Janeiro 29, 2011 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
frequenciavirtual 0 Denunciar post Postado Janeiro 29, 2011 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
Niick 0 Denunciar post Postado Janeiro 29, 2011 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
Andrey Knupp Vital 136 Denunciar post Postado Janeiro 29, 2011 acho que o chmod mesmo cara .. ^_^ Compartilhar este post Link para o post Compartilhar em outros sites
Niick 0 Denunciar post Postado Janeiro 30, 2011 Obrigado gente ! Funcionou aqui valeu ! podem fechar o topico! abraços ! Compartilhar este post Link para o post Compartilhar em outros sites