XandyW Postado Fevereiro 18, 2011 Denunciar Share Postado Fevereiro 18, 2011 Estou fazendo um sistema que faz o upload de arquivos em pastas que são criadas. Consigo até armazenar o link no banco de dados, mas o move_uploaded_file da imagem retorna false. // se a imagem for selecionada if(!empty($imagem_jogo['name'])) { // verifica se é imagem if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $imagem_jogo["type"])) { $error[1] = "Isso não é uma imagem."; } } // Se não houver nenhum erro if (count($error) == 0) { // Pega extensão da imagem preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $imagem_jogo["name"], $ext); // Gera um nome único para a imagem -> FUNÇÃO DE OUTRO ARQUIVO, ESTÁ FUNCIONANDO beleza $nome_imagem_pronto = altera_cacteres_imagem($imagem_jogo["name"]); // Caminho de onde ficará a imagem $caminho_imagem = "../games/" . $nome_categoria_pronto . "/" . $nome_jogo_pronto . "/"; // Faz o upload da imagem para seu respectivo caminho $upload_imagem = move_uploaded_file($imagem_jogo['tmp_name'], $caminho_imagem); var_dump($upload_imagem); // retorna FALSE $link_imagem = $caminho_imagem . "/" . $nome_imagem_pronto; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Fevereiro 18, 2011 Denunciar Share Postado Fevereiro 18, 2011 Dá um echo em $caminho_imagem para ver o que está saindo... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 XandyW Postado Fevereiro 18, 2011 Autor Denunciar Share Postado Fevereiro 18, 2011 (editado) Agora estou no trabalho, não posso confirmar.Mas eu salvo o $link_imagem (que é o $caminho_imagem / nome da imagem) no banco de dados. E fica certinho.Exemplo:/categoria/nome_da_subcategoria/nome_da_imagem.jpgedit..Confirmado. Aparece isso mesmo. Editado Fevereiro 18, 2011 por XandyW Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 XandyW Postado Fevereiro 18, 2011 Autor Denunciar Share Postado Fevereiro 18, 2011 Alguém teria ideia do que pode estar havendo? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 XandyW Postado Fevereiro 21, 2011 Autor Denunciar Share Postado Fevereiro 21, 2011 (editado) Já resolvi o problema. Editado Fevereiro 21, 2011 por XandyW Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ivan Ferrer Postado Fevereiro 22, 2011 Denunciar Share Postado Fevereiro 22, 2011 veja se não é problema de permissão, na pasta...para mover arquivos de um diretório você precisa conceder permissão...ou experimente isso:<?php //100 megas em bytes if($total_bytes<104857600){ $diretorio= 'upload'; if ($_FILES["file"]["size"] < 104857600) { if ($_FILES["file"]["error"] > 0) { echo "Codigo retorno: " . $_FILES["file"]["error"] . "<br />"; } else //echo "<p><center><H3>O arquivo já existe no diretório.</H3></center></p>"; if (file_exists($diretorio."/". $_FILES["file"]["name"])) { echo "<p><center><H3>O arquivo já existe no diretório.</H3></center></p>"; $nome_arquivo=$_FILES["file"]["name"]; //echo $_FILES["file"]["name"] . "existente. "; } else { if(!is_dir($diretorio)){ mkdir($diretorio."/",0777); } $extensoes_permitidas = array('jpg', 'gif', 'png'); $arq=$_FILES["file"]["name"]; $ext_3=substr($arq, -3, 3); if (!in_array($ext_3, $extensoes_permitidas)){ move_uploaded_file($_FILES["file"]["tmp_name"], $diretorio."/" . $_FILES["file"]["name"]); $sql_grava_info=mysql_query("Insert into tabela (arquivo,data,kbytes,permissao) values ('". $_FILES["file"]["name"]."','".date('Y-m-d')."','".$_FILES["file"]["size"]."','S')") or die ("Erro de salvamento de arquivo: ".mysql_error()); echo 'Arquivo gravado no banco!<br>'; }else{ echo "<p><center><H3>The file \"".$_FILES["file"]["name"]."\"<br>sem permissão para envio.</h3></center></p>"; } if($nome_arquivo!="") echo "<p><center><H3>Arquivo está vazio.</H3></center></p>"; else if($erro_arquivo!=1) echo "<p><center><H3>\"".$_FILES["file"]["name"]."\"<br>o arquivo foi enviado com sucesso!</h3></center></p>"; } } } else { echo "<p><center><H3>O arquivo \"".$_FILES["file"]["name"]."\" não tem permissão de envio.</h3></center></p>"; } } ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
XandyW
Estou fazendo um sistema que faz o upload de arquivos em pastas que são criadas. Consigo até armazenar o link no banco de dados, mas o move_uploaded_file da imagem retorna false.
// se a imagem for selecionada
if(!empty($imagem_jogo['name']))
{
// verifica se é imagem
if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $imagem_jogo["type"]))
{
$error[1] = "Isso não é uma imagem.";
}
}
// Se não houver nenhum erro
if (count($error) == 0) {
// Pega extensão da imagem
preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $imagem_jogo["name"], $ext);
// Gera um nome único para a imagem -> FUNÇÃO DE OUTRO ARQUIVO, ESTÁ FUNCIONANDO beleza
$nome_imagem_pronto = altera_cacteres_imagem($imagem_jogo["name"]);
// Caminho de onde ficará a imagem
$caminho_imagem = "../games/" . $nome_categoria_pronto . "/" . $nome_jogo_pronto . "/";
// Faz o upload da imagem para seu respectivo caminho
$upload_imagem = move_uploaded_file($imagem_jogo['tmp_name'], $caminho_imagem);
var_dump($upload_imagem); // retorna FALSE
$link_imagem = $caminho_imagem . "/" . $nome_imagem_pronto;
Link para o comentário
Compartilhar em outros sites
5 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.