Autor Tópico: Erro no move_uploaded_file + php 5  (Lida 2825 vezes)

Offline joaotime

  • Usuário Ubuntu
  • *
  • Mensagens: 210
    • Ver perfil
Erro no move_uploaded_file + php 5
« Online: 05 de MAR?O de 2013, 11:57 »
Ola Pessoal estou enfretando erro no move_uploaded_file sempre da erro tenho um servidor ubutun 12.04 com php 5 intalado e esta dando erro diz que nao pode mover , exite alguma coisa que tenho que habilitar no php.ini

Obrigado

Joao

Offline zekkerj

  • Usuário Ubuntu
  • *
  • Mensagens: 19.735
  • Gratidão gera gratidão, lamúria atrai lamúria...
    • Ver perfil
    • Blog do Zekke
Re: Erro no move_uploaded_file + php 5
« Resposta #1 Online: 05 de MAR?O de 2013, 21:55 »
Tá movendo de onde pra onde?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Offline joaotime

  • Usuário Ubuntu
  • *
  • Mensagens: 210
    • Ver perfil
Re: Erro no move_uploaded_file + php 5
« Resposta #2 Online: 06 de MAR?O de 2013, 11:28 »
vou postar a funcao  ?
function upload_file($nome_arq_original, $dir_destino, &$tmp_name, $prefixo)
{
   // 1 KB(yte) = 1 024 B(yte) | 1 MB = 1 024 KB = 1 048 576 B
   // Tamanho máximo do arquivo (em bytes)
   $config["tamanho"] = 1048576;
   // Largura máxima (pixels)
   $config["largura"] = 1024;
   // Altura máxima (pixels)
   $config["altura"]  = 768;

   $nome_arq_gerado = "";
   $copy = false;
   
   if ($nome_arq_original!="" and is_dir($dir_destino) and is_writable($dir_destino))
   {   
      //verificando se o tipo é válido                  
      if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $nome_arq_original["type"]))
      {
         echo "<br><b>".$nome_arq_original["name"]."</b> - tipo de arquivo não aceito! Envie novamente. Arquivos aceitos: jpg, jpeg, bmp, gif ou png.";
      }
      else
      {
         // Verifica tamanho do arquivo
         if($nome_arq_original["size"] > $config["tamanho"])
         {
            echo "<br>Arquivo tamanho inválido " . round($nome_arq_original["size"] / (1024 * 1024),2) . " MB";
         }
         else
         {
         
            //verificar se as dimesões são válidas
            //$tamanhos = getimagesize($arquivo["tmp_name"]);
            //if($tamanhos[0] > $config["largura"])
            //if($tamanhos[1] > $config["altura"])   
               
            //gerando nome para o novo arquivo *********print_r
            $nome_arq_gerado = $prefixo . date("YmdHis") . "_" . $nome_arq_original["name"];
            $nome_arq_gerado = stripslashes($nome_arq_gerado);
            $nome_arq_gerado = str_replace("'","",$nome_arq_gerado);
            $nome_arq_gerado = strtolower($nome_arq_gerado);
            $nome_arq_gerado = str_replace(" ","",$nome_arq_gerado);
            $nome_arq_gerado = RemoveAcentos($nome_arq_gerado);
                        
            $end_arq_copiar = str_replace('//','/',$dir_destino).$nome_arq_gerado;
         
            //getmod
            //chmod("", 0777);
            //$copy = copy($_FILES['URLImagem']['tmp_name'],$end_arq_copiar);            
            $copy = move_uploaded_file($tmp_name, $end_arq_copiar);
            $tmp_name = $nome_arq_gerado;
         
            /* thumbnail */      
            $imagesize = getimagesize($end_arq_copiar);
            $metadata['width'] = $imagesize['0'];
            $metadata['height'] = $imagesize['1'];
            $img_size = shrink_dimensions($metadata['width'],$metadata['height']);
            wp_create_thumbnail($end_arq_copiar, $img_size);
            //volta ao modo anterior
            
         } //fim if size
      } //fim if tipo certo
   } //fim if arquivo existe
   
   return $copy; //copy é booleano
}


onde passo
 upload_foto($nome_arq_original, inadm_end_imgs_outadm, $nome_arq_temp, $prefixo_img);

sabendo que
$nome_arq_original = Nome do Arquivo Original
$inadm_end_imgs_outadm=..//..//imgs_up//
$nome_arq_temp = nome do arquivo
 $prefixo_img= = "news_";

Offline zekkerj

  • Usuário Ubuntu
  • *
  • Mensagens: 19.735
  • Gratidão gera gratidão, lamúria atrai lamúria...
    • Ver perfil
    • Blog do Zekke
Re: Erro no move_uploaded_file + php 5
« Resposta #3 Online: 06 de MAR?O de 2013, 12:17 »
Rapaz, eu não sou programador php, sou só integrador. Sei lidar com os sintomas, mas se o problema for no código vc mesmo que vai ter que corrigir.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Offline joaotime

  • Usuário Ubuntu
  • *
  • Mensagens: 210
    • Ver perfil
Re: Erro no move_uploaded_file + php 5
« Resposta #4 Online: 06 de MAR?O de 2013, 12:23 »
mais acredito que nao seja no codigo pois estou usando este mesmo codigo hospedado na localweb e funciona so no meu servidor interno que nao .
e por isto faco a pergunta sera que tenho que liberar mais alguma coisa ?

Offline zekkerj

  • Usuário Ubuntu
  • *
  • Mensagens: 19.735
  • Gratidão gera gratidão, lamúria atrai lamúria...
    • Ver perfil
    • Blog do Zekke
Re: Erro no move_uploaded_file + php 5
« Resposta #5 Online: 06 de MAR?O de 2013, 14:30 »
Então eu repito a pergunta: está movendo de onde pra onde?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Offline joaotime

  • Usuário Ubuntu
  • *
  • Mensagens: 210
    • Ver perfil
Re: Erro no move_uploaded_file + php 5
« Resposta #6 Online: 06 de MAR?O de 2013, 14:46 »
da pasta temporia para a pasta /var/www/os/img

Offline zekkerj

  • Usuário Ubuntu
  • *
  • Mensagens: 19.735
  • Gratidão gera gratidão, lamúria atrai lamúria...
    • Ver perfil
    • Blog do Zekke
Re: Erro no move_uploaded_file + php 5
« Resposta #7 Online: 06 de MAR?O de 2013, 15:01 »
E o usuário que roda o php tem permissão de escrita nessa pasta?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Offline joaotime

  • Usuário Ubuntu
  • *
  • Mensagens: 210
    • Ver perfil
Re: Erro no move_uploaded_file + php 5
« Resposta #8 Online: 06 de MAR?O de 2013, 15:40 »
vixi pegou em como sei se tem ou nao  ?

Offline irtigor

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 4.344
  • Delete, delete, delete!
    • Ver perfil
Re: Erro no move_uploaded_file + php 5
« Resposta #9 Online: 06 de MAR?O de 2013, 18:24 »
Olhando as permissões do diretório, ex: ls -ld /var/www/os/img

Offline joaotime

  • Usuário Ubuntu
  • *
  • Mensagens: 210
    • Ver perfil
Re: Erro no move_uploaded_file + php 5
« Resposta #10 Online: 07 de MAR?O de 2013, 09:40 »
esta assim
drwxr-xr-x 3 nobody nogroup

Offline zekkerj

  • Usuário Ubuntu
  • *
  • Mensagens: 19.735
  • Gratidão gera gratidão, lamúria atrai lamúria...
    • Ver perfil
    • Blog do Zekke
Re: Erro no move_uploaded_file + php 5
« Resposta #11 Online: 07 de MAR?O de 2013, 11:04 »
Se eu nao me engano, o php é executado pelo usuário "www-data" (que é o usuário que executa o apache). Como o diretório pertence a "nobody/nogroup", tá explicado o erro.

Só me faça um favor... não cometa a sandice de dar escrita pública nesse diretório pra resolver o problema.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Offline joaotime

  • Usuário Ubuntu
  • *
  • Mensagens: 210
    • Ver perfil
Re: Erro no move_uploaded_file + php 5
« Resposta #12 Online: 07 de MAR?O de 2013, 11:14 »
bom vamos como saber qual usuario o php roda e como dar permisao na pasta para o mesmo

Offline irtigor

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 4.344
  • Delete, delete, delete!
    • Ver perfil
Re: Erro no move_uploaded_file + php 5
« Resposta #13 Online: 07 de MAR?O de 2013, 13:16 »
Se não modificou, é o usuário que executa o apache. Você também podia olhar algum arquivo criado por ele, ou rodar uma função como a posix_getuid.

Offline joaotime

  • Usuário Ubuntu
  • *
  • Mensagens: 210
    • Ver perfil
Re: Erro no move_uploaded_file + php 5
« Resposta #14 Online: 07 de MAR?O de 2013, 13:19 »
sim esta certo o usuario que roda o apache é www-data como faco para incluir ele na pasta ?