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

Problema Com Upload [resolvido]


Pilantra

Pergunta

Bom dia

Vejam essa rotina que criei pra fazer upload!!!

$avatar = $_FILES['fileAvatar'];

/* Upload do Avatar =P */
if ($avatar != "") {
 if($avatar_size > 50000) {
 echo "A figura tem que ter o tamanho máximo de 50kb!!!";
 exit; 
 } 

 if (!empty($avatar) && is_file($avatar)) {
 $caminho = "avatar/"; 
 $caminho = $caminho.$avatar_name;
 }

 if ((eregi(".gif", $avatar_name)) || (eregi(".jpg", $avatar_name)) || (eregi(".png", $avatar_name))){
 copy($avatar,$caminho);
 }
}

Quando usava php no Windows era as mil maravilhas, tudo que você pedia dava certo, mas estou no Linux e estou com problemas, eu tive que setar as variaveis do tipo $HTTP_POST_VARS[] pois direto não vai!!! Então eu acho que seja esse problema também com o campo file!!! Eu já dei chmod 777 na pasta avatar, está tudo certo pra ela receber o arquivo, mas a variavel vem vazia, ela não transfere do formulário!! O que pode ser isso!? Eu coloquei no form o enctype!!!

Por favor me ajudem!!

Obrigado

Pilantra blink.gif

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Deu pau cara, nem cadastro, veja como ficou:

* Upload do Avatar =P */
if ($_FILES['fileAvatar']['tmp_name'] != null) {
	if($_FILES['fileAvatar']['size'] > 50000) {
  echo "<script> alert('Atenção! O arquivo não pode passar de 50kb!\nVerifique o seu avatar e mande novamente!'); window.history.go(-1); </script>\n";
  exit; 
	} 

	if (!empty($_FILES['fileAvatar']['tmp_name']) && is_file($_FILES['fileAvatar']['tmp_name'])) {
  $caminho = "avatar/";
  $caminho = $caminho.$_FILES['fileAvatar']['name'];
	}

	if ((eregi(".gif", $_FILES['fileAvatar']['name'])) || (eregi(".jpg", $_FILES['fileAvatar']['name'])) || (eregi(".png", $_FILES['fileAvatar']['name']))){
  copy($avatar,$caminho);
	}
}

Eu nunca precisei usar essas variaveis do tipo _POST e _FILE, eu já pegava direto, mas não sei se é configuração do PHP ou é o Linux mesmo que não passa!!! Mas é até bom assim pois eu aprendo do jeito certo!!! E agora como eu resolvo isso!!??

Obrigado

Link para o comentário
Compartilhar em outros sites

  • 0

Eu mexi nas configurações do PHP e habilitei a menssagem de erro!! Eu tava achando muito estranho mesmo que não dava erro nenhum!! Vejam:

Notice: Undefined variable: caminho in /var/www/htdocs/confirmacadastro.php on line 31

Warning: copy(piupiu.jpg): failed to open stream: No such file or directory in /var/www/htdocs/confirmacadastro.php on line 31

Eu setei no PHP também a pasta /var/tmp/ como pasta temporária de upload!! Será que fiz cagada!!

T+

Link para o comentário
Compartilhar em outros sites

  • 0

Resolvido, mudei a lógica do script e deu certo, não sei porque, mas deu certo:

/* Upload do Avatar =P */
if (!empty($avatar_name)) {
	if($avatar_size > 50000) {
  echo "<script> alert('Atenção! O arquivo não pode passar de 50kb!\nVerifique o seu avatar e mande novamente!'); window.history.go(-1); </script>\n";
  exit; 
	}

  $caminho = "avatar/";
  $caminho = $caminho.$avatar_name;
  	if ((eregi(".gif", $avatar_name)) || (eregi(".jpg", $avatar_name)) || (eregi(".png", $avatar_name))){
    copy($avatar_tmpname,$caminho);
  	}
	}
}

Valeu!!

Pilantra

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,6k
×
×
  • Criar Novo...