Ir para conteúdo
Fórum Script Brasil
  • 0

Erro...


amos

Pergunta

Eu estou fazendo upload de um arquivo... e tá dando esse erro:

Warning: move_uploaded_file(): Unable to move '/tmp/phpVWLshg' to 'fotos/images/108940356240eefaaa1d5cc.' in /home/wabs/public_html/sal/upload.php on line 75

Ó o codigo ai...eu negritei a linha 75 pra vocês verem onde tá o erro...

<?

$erro = $config = array();

// Prepara a variável do arquivo

$arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE;

// Tamanho máximo do arquivo (em bytes)

$config["tamanho"] = 106883;

// Largura máxima (pixels)

$config["largura"] = 500;

// Altura máxima (pixels)

$config["altura"]  = 500;

// Formulário postado... executa as ações

if($arquivo)

{  

   // Verifica se o mime-type do arquivo é de imagem

   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";

       }

   }

   

   // Imprime as mensagens de erro

   if(sizeof($erro))

   {

       foreach($erro as $err)

       {

           echo " - " . $err . "<BR>";

       }

       echo "<a href=\"foto.php\">Fazer Upload de Outra Imagem</a>";

   }

   // Verificação de dados OK, nenhum erro ocorrido, executa então o upload...

   else

   {

       // Pega extensão do arquivo

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

       // Gera um nome único para a imagem

       $imagem_nome = uniqid(time()) . "." . $ext[1];

       // Caminho de onde a imagem ficará

       $imagem_dir = 'fotos/images/'.$imagem_nome.' ';

       // Faz o upload da imagem

       move_uploaded_file($arquivo['tmp_name], $imagem_dir);

       echo "Sua foto foi enviada com sucesso!";

   }

}

Se alguém puder me ajudar eu fico agradedcido...

biggrin.gif

Link para o comentário
Compartilhar em outros sites

15 respostass a esta questão

Posts Recomendados

  • 0

Já coloquei um código assim nessa pagina ai...

chmod("upload.php",0777);

Só que só funciona uma vez...funciona assim... mais ou menos né, por que ele num faz o upload no server não. Ahhh... e outra coisa esse script faz o upload... mas num sei o que acontece que dá esse erro...

Tem a ver com o chmod? tem outra forma de dar ele?

Link para o comentário
Compartilhar em outros sites

  • 0

Tem....pelo seu cliente de FTP...

Se você clicar com o botão direito sobre o diretório, normalmente aparece uma opção de "permissões" ou "CHMOD" mesmo...

Veja lá se não tem isso...

Se tiver, você tem que deixar o diretório que vai receber esse arquivo que foi uploadeado como 777...

Link para o comentário
Compartilhar em outros sites

  • 0

Pows no meu cliente de ftp num tem isso não...O meu cliente de ftp é o "smartftp" tem alguma indicação?

E se eu colocasse uma verificação por cookies pra ver se é a primeira vez que tá abrindo akela pagina... se for a primeira vez.. ele da o chmod... se não... continua como está...

Isso resolveria? Se não o que eu tenho que fazer? Por que esse script ta fazendo upload do arquivo... só que tá dando erro... e outra coisa... ele ta colocando na pasta o arquivo com um nome mó loko tipo 10151546123654.jpg sak?

Pode me ajudar?

Link para o comentário
Compartilhar em outros sites

  • 0

Resolveria sim... a lógica é essa... mas é o diretório que precisa ter o CHMOD... não necessariamente os arquivos...

Então, caso você não crie diretórios dinamicamente, não precisa põr isso em script... poderia fazer via FTP...

A sintaxe do comando é:

chmod(string_caminho_do_arquivo/diretório,modo)

Ali no modo é que você põe o 777...sem aspas mesmo...

No caminho do diretório, você precisa pôr o caminho do diretório, em relação ao lugar onde está esse script do CHMOD

Link para o comentário
Compartilhar em outros sites

  • 0

Então pode ser via cookie mesmo? Ou eu teria que criar um contador via a ip do cara? Valeu pela sintaxe... E como fazer para ele executar de novo esse cookie depois que o cara fechar o browser e abrir novamente?

E outrta coisa... já que eu não tenho permissão para gravar nessa página... por que ele ta fazendo o upload dos arquivos então?

Valeu ae...biggrin.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Bom...você até agora ainda não me disse se vai tudo pra um diretório ou pra vários diretórios criados dinamicamente...

Se for tudo pra um, sempre, dê um CHMOD ao instalar o script...

De outro modo, faça por cookies ou pelo cadastro do usuário...Ip não funciona porque a grande maioria tem ip dinâmico...

E você não tinha me dito que ele faz o upload... ele faz o upload e mesmo assim mostra o erro, é isso?

Tudo funciona só que dá o erro?

Link para o comentário
Compartilhar em outros sites

  • 0

Isso... tudo funciona só que dá esse erro... mas ele coloca a imagem na pasta certa com um nome assim... 23144231210.jpg sendo que o nome dela é anarquia.jpg

E é um diretorio fixo.. não é criado dinamicamente...

Link para o comentário
Compartilhar em outros sites

  • 0
Tipo assim...

Eu fiz isso que você me disse... e ele não deu mais erro.

Só que agora parou de fazer upload... será que é o chmod mesmo?

Putz já to atrapalhando ne? Foi mal ae... é que num quer dar certo mesmo... sad.gif

Atrapalhar, nada... se estiver atrapalhando eu te aviso, pode deixar... laugh.gif

Então...você fez o que? mudou o script ou deu o chmod?

Link para o comentário
Compartilhar em outros sites

  • 0

Ó o script...

<?

$erro = $config = array();

// Prepara a variável do arquivo

$arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE;

// Tamanho máximo do arquivo (em bytes)

$config["tamanho"] = 106883;

// Largura máxima (pixels)

$config["largura"] = 500;

// Altura máxima (pixels)

$config["altura"]  = 500;

// Formulário postado... executa as ações

if($arquivo)

    // Verifica se o mime-type do arquivo é de imagem

    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";

        }

    }

   

    // Imprime as mensagens de erro

    if(sizeof($erro))

    {

        foreach($erro as $err)

        {

            echo " - " . $err . "<BR>";

        }

        echo "<a href=\"foto.php\">Fazer Upload de Outra Imagem</a>";

    }

    // Verificação de dados OK, nenhum erro ocorrido, executa então o upload...

    else

    {

        // Pega extensão do arquivo

      $imagem= preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo['tmp_name'], $ext);

        // Gera um nome único para a imagem

        $imagem_nome = $arquivo['name'];

        // Caminho de onde a imagem ficará

        $imagem_dir = '/home/wabs/public_html/sal/fotos/images/'.$imagem_nome.'';

chmod("/home/wabs/public_html/sal/fotos/images",0777);

        // Faz o upload da imagem

        move_uploaded_file($arquivo, $imagem_dir);

        echo 'A foto '.$imagem_nome.' foi copiada para '.$imagem_dir.'';

    }

}

?>

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...