Jump to content


Photo

Upload Com Move_uploaded_file()


  • Faça o login para participar
31 replies to this topic

#1 M4rc0

M4rc0

    Turista

  • Usuários
  • 54 posts
  • Sexo:Não informado

Posted 04/05/2006, 08:18

Estou tentando fazer um script de upload e redimensionamento de fotos (nessa ordem) mas não estou conseguindo...
Vejo muitos scripts prontos por aí utilizando esse 'move_uploaded_file', mas eu não consigo fazer do mesmo jeito e ta dando erro..

Segue parte do código:
$imagem_prin = $_FILES['imagem_prin']['name'];
(...)
$formato = explode(".", $imagem_prin);
$formato = strtolower($formato[1]);
$imagem_prin = $nome."_1".$formato;
$caminhoP = "../../imagens/fotos/".$nome."/".$_FILES['imagem_prin']['tmp_name'];
$foi = move_uploaded_file($_FILES['imagem_prin']['tmp_name'], $caminhoP); //principal _1
echo $foi;die;
(...)

O 'echo $foi' não ta apresentando nada..e a foto não está no servidor..
Sim já chequei permissão de diretórios..
O caminhoP realmente existe..

Não sei mais o que fazer..já tentei outro jeito por ftp_upload e nada..pensei que esse daria certo..
Alguém poderia me ajudar por favor??

Onde estou errando?

#2 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 04/05/2006, 08:28

Olá, tente assim:
$caminhoP = "../../imagens/fotos/".$nome."/".$_FILES['imagem_prin']['name'];
$foi = move_uploaded_file($_FILES['imagem_prin']['tmp_name'], $caminhoP); //principal _1

Flws...
;)Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#3 M4rc0

M4rc0

    Turista

  • Usuários
  • 54 posts
  • Sexo:Não informado

Posted 04/05/2006, 14:14

Cara o $foi continua não apresentando nada..

E não tem nada no servidor..

Onde tá errado?
Eu vejo vários scripts prontos aí, estão do mesmo jeito mas não tá funcionando :/

e agora :(

dúvida: se eu fizer move_uploaded_file($arquivo,$caminho); funciona?
ou ali deve ser o $_FILES mesmo?

edit:: já tentando botando o caminho completo do servidor '/public_html'/... mas nem assim funcionou

preciso de ajuda urgente D:

Edição feita por: M4rc0, 04/05/2006, 14:21.


#4 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 04/05/2006, 15:32

Ok, analisei melhor seu código e veja. Não sei se vai ter, porque você não passou o script todo, mas no caminho:
$caminhoP = "../../imagens/fotos/".$nome."/".$_FILES['imagem_prin']['tmp_name'];
O que é $nome que pelo menos ai não está declarado?

Flws...
;)Até mais

Edição feita por: Frenesi, 04/05/2006, 15:32.

Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#5 M4rc0

M4rc0

    Turista

  • Usuários
  • 54 posts
  • Sexo:Não informado

Posted 04/05/2006, 16:03

é o nome do arquivo.. ta tudo certo os valores e tal
o nome da 'lancha' que ele ta cadastrando, vai ser o nome da foto..

cara valeu a atenção aí mesmo aliás.,,

#6 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 04/05/2006, 16:15

Não paro enquanto não resolver, não vem com essa de que valeu sem resolver não.. :P

Mas o nome do arquivo não é o que vem do formulário, que no caso seria $_FILES['imagem_prin']['name']
Só queria saber como ele está montando este caminho com uma variavel $nome que aparentemente não está declarada...
Tem como vc postar o código todo?

Flws...
;) Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#7 M4rc0

M4rc0

    Turista

  • Usuários
  • 54 posts
  • Sexo:Não informado

Posted 05/05/2006, 08:14

Blz..vou postar mais código quando chegar em casa..

Já posso adiantar que imagem_prin é o nome do campo image_field da imagem principal
mesma coisa para o nome só que é um textfield

ambos estão num formulário (com o tal multipart-xxx) que tem como action chamar o arquivo acima (aquilo é parte dele, o resto é verificação, cadastrar no banco os outros dados..)

logo, tanto como imagem_prin e nome tem valores normalmente, caso eu dar um 'echo' neles entende?

é estranho porque não da nenhum erro, ele passa direto..mas não mostra nada no $foi e nem faz o upload...

#8 bimonti

bimonti

    Super Veterano

  • Usuários
  • 2654 posts
  • Sexo:Masculino

Posted 05/05/2006, 10:34

Printa a variável ae pra gente ver:
$caminhoP = "../../imagens/fotos/".$nome."/".$_FILES['imagem_prin']['name'];

se quiser testar tbm:
if (is_uploaded_file($_FILES['imagem_prin'])) {
   copy($_FILES['imagem_prin']['tmp_name'], $_FILES['imagem_prin']['name']);
} else {
   echo "Não está fazendo o upload corretamente.";
}

WebFórum - Equipe de Desenvolvimento - Monitor
Posted Image
Yeah I do have some stories, and it's true I want all the glory ...

#9 M4rc0

M4rc0

    Turista

  • Usuários
  • 54 posts
  • Sexo:Não informado

Posted 05/05/2006, 15:22

Boa dica..printou:

/public_html/imagens/fotos/ZZZ/

ZZZ é $nome..antes daquilo tem uma função que cria uma pasta pra cada nome..

então era pra estar assim
/public_html/imagens/fotos/ZZZ/foto.jpg

#10 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 05/05/2006, 18:08

Hummm... acho que estou começando a ver a luz no fim do túnel... :D
Poste o código do seu formulário.... no cabeçalho do form TEM que ter isso:
enctype="multipart/form-data"
Quer ver que não tem.. :P

Flws...
^_^Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#11 M4rc0

M4rc0

    Turista

  • Usuários
  • 54 posts
  • Sexo:Não informado

Posted 06/05/2006, 14:18

Tem sim cara..infelizmente =/

até tinha falado no post acima...

continuo tentando..

#12 gennf

gennf

    A Solução está ai...

  • Usuários
  • 645 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG

Posted 06/05/2006, 20:06

Olá pessoal!!!

Deixa eu aproveitar o tópico do nosso amigo aqui já que a minha duvida é sobre a mesma funçõa :P mas o código é diferente. :P

Bom, estava eu mexendo em meu código e quando fui testa-lo apareceu:

Warning: move_uploaded_file(/imagens/anuncios/imagem1.gif) [function.move-uploaded-file]: failed to open stream: No such file or directory in c:\Inetpub\wwwroot\*****\cadastrar_banner_lateral.php on line 202

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\PHP\uploadtemp\php7.tmp' to '/imagens/anuncios/imagem1.gif' in c:\Inetpub\wwwroot\*****\cadastrar_banner_lateral.php on line 202


Será que alguem sabe como solucionar o meu probleminha???

Até mais pessoal ;)

Walison(GENNF)
Portal BatePapoBrasil
URL: www.batepapobrasil.com

----------------------------
Site desenvolvidos
URL:
VitrineABC :: Alugue Litoral :: OrtodontiaLago

#13 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 08/05/2006, 07:50

Simples:

No such file or directory

O arquivo ou diretório não foi encontrado.

Ou seja, o caminho /imagens/anuncios/imagem1.gif a partir deste arquivo que você está rodando não existe.

Flws...
:PAté mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#14 gennf

gennf

    A Solução está ai...

  • Usuários
  • 645 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG

Posted 08/05/2006, 09:31

Olá Frenesi!!!

Muito obrigado pela Ajuda!!!

O que percebi é que o arquivo é gravado primeiro em uma pasta Temporária e depois que ela é jogada naquela pasta, mas na verdade aquela pasta existe.

De qualquer forma muito obrigado, mas só que, aquele código funciona em outro host (HOST do cliente) e funcionava em meu Host e no meu PC derrepente parou de funcionar em meu HOST e meu PC mas no HOST do cliente continua funcionando.

Vai entender né????!!!! :wacko:

Mas muito obrigado mesmo Frenesi ;)

Walison(GENNF)
Portal BatePapoBrasil
URL: www.batepapobrasil.com

----------------------------
Site desenvolvidos
URL:
VitrineABC :: Alugue Litoral :: OrtodontiaLago

#15 M4rc0

M4rc0

    Turista

  • Usuários
  • 54 posts
  • Sexo:Não informado

Posted 09/05/2006, 17:47

Ok, o amigo Dimitri me ajudou com o seguinte código:

$imagem_prin = $_FILES['imagem_prin']['name'];
//echo "IMAGEM: ".$imagem_prin;die;
$path=$_SERVER["DOCUMENT_ROOT"];
$destino="$path/imagens/fotos/$nome/$imagem_prin";
//$destino="$path/imagens/fotos/$nome/";
//echo "DESTINO: ".$destino;die;
//$destino=$pasta."/".$imagem_prin;
$foi = move_uploaded_file($imagem_prin,$destino);
echo "FOI: ".$foi;die;

Reparem nos comentários..
-No primeiro echo, a varíavel $imagem_prin aparece com a imagem pega do formulário certinho..
-No segundo, aparece o destino corretamente (TUDO existe no servidor)
-o echo $foi, não aparece nada..e a imagem não foi..que beleza

Obs1: sim, tenho autorização 777 na pasta correta
Obs2: o formulário esta sim com o enctype="multipart/form-data"

Alguma idéia??

*grito de desespero*




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq