Jump to content


Photo

Dúvida Sobre Ftp_put


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

#1 bmamone

bmamone

    bmamone.com

  • Usuários
  • 374 posts
  • Sexo:Não informado
  • Localidade:São Paulo - Brasil
  • Interesses:Meus interesses lhe interessam? Não é interessante se interessar por meus interesses!

Posted 20/01/2007, 14:08

Bom, estava eu programando e me deparo com uma coisa que não sei fazer: :o

Enviar um arquivo para o FTP, sendo que o caminho é o usuário quem diz qual é... :wacko:

Então, lá vou eu procurar a função certa... :)

Tchananananam... acho a tão gloriosa ftp_put(). :ponder:

Mas não entendi o que ela realmente faz, dei uma lida e concluí que não concluí :P .

Eu entendi que ela envia o arquivo X para o arquivo Y... mas eu queria enviar para um diretório, não para outro arquivo... :angry:

Não gostei nada do exemplo do PHP.net, rs. :unsure:

Dei uma pesquisada, mas não achei nada que me ajuda-se. (n)

E agora? O que fazer? Oh mundo cruel! :(

Alguma alma boa poderia me ajudar dizendo o que esta função faz e como eu poderia utilizá-la?


Ah, claro, o trecho do código que eu usei...

<?php

			 if(@$_POST['send4'] == "true"){
			 $enviaarquivo = ftp_put($conexao, $_POST['caminhooo'], $_POST['arquivooo'], FTP_BINARY) or die("<script type=text/javascript>alert('Não foi possivel enviar o arquivo')</script>");
					   if($enviaarquivo){
					   echo "<script type=text/javascript>";
					   echo "alert('Arquivo enviado.');";
					   echo "</script>";
					   }else{
					   echo "<script>alert('Erro ao enviar arquivo.');</script>";
					   }
			 }
			 ?>




Abraços (ok2)
bmamone ~

Vem aí aquilo o que você não sabe o que é.
Mas vai gostar.
Ou não.

#2 victorhb

victorhb

    24 Horas

  • Usuários
  • 489 posts
  • Sexo:Masculino
  • Localidade:Brasília-DF

Posted 20/01/2007, 14:27

Você tá esquecendo de conectar né... O fput envia o arquivo para a pasta atual. Para mudar a pasta atual voce usa a função ftp_chdir. Os parâmetros string remote_file, string local_file não significa que ele vai salvar em cima de outro arquivo, mas por exemplo você pode mudar o nome se quiser, o arquivo remoto pode ser chamado xyz e o local ter o nome original dele. Igual na função de upload move_uploaded_file, onde temos o $_FILES["name"] guardando o nome original, e o $_FILES["tmp_name"] guardando o nome temporário.

Edição feita por: victorhb, 20/01/2007, 14:29.


#3 bmamone

bmamone

    bmamone.com

  • Usuários
  • 374 posts
  • Sexo:Não informado
  • Localidade:São Paulo - Brasil
  • Interesses:Meus interesses lhe interessam? Não é interessante se interessar por meus interesses!

Posted 20/01/2007, 14:56

Amigo, este é só um trecho do código, eu estou conectando, só não irei postar por motivos maiores :D .


Isso eu entendi, valeu por explicar que envia pro diretório local, mas o que colocar no remote_file então? No local_file eu coloco o arquivo à enviar, certo?
bmamone ~

Vem aí aquilo o que você não sabe o que é.
Mas vai gostar.
Ou não.

#4 victorhb

victorhb

    24 Horas

  • Usuários
  • 489 posts
  • Sexo:Masculino
  • Localidade:Brasília-DF

Posted 20/01/2007, 16:50

Isso... No local file o nome do arquivo a ser enviado, e no remote file é o nome com que ele será salvo no ftp. Pode colocar o mesmo nome, se quiser.

ftp_put($handler, blablabla.txt, blablabla.txt, FTP_ASCII)

#5 sk15

sk15

    Super Veterano

  • Usuários
  • 2071 posts
  • Sexo:Masculino
  • Localidade:SP - SP

Posted 20/01/2007, 17:01

Eu respondi isso esses dias:
http://forum.wmonlin...o...&hl=ftp_put

Mas assim:
$upload = ftp_put($Conexao, $name_file, $arquivo, $tipo);

$name_file: É o local de FTP de dentro de seu servidor... é so prestar a atenção em um programa de envio via FTP qualquer ... tipo todas as pasta FTP começa com "/" etão por exemplo se vai colocar uma imagem em: http://www.seusite.com/imagem mas seu site fica em uma pasta "public" (veja exemplo abaixo)

$arquivo: É o arquivo temporario (código fonte), que após ter feito o updwonload o PHP amarzena detro da pasta "temp" do sistema, que você deve usar com o: $_FILES["Campo"]["tmp_name"].

$tipo: É o tipo de envio Binario ou ASCII... o binario é para uso de arquivos compilador como imagems, flashs, documentos word, executaveis (*.exe, *.zip, *.rar, ...); já o ascii é para arquivos de textos como PHP, ASP, HTML, TXT.
Ele é uma constante FTP_BINARY ou FTP_ASCII

Mas seu FTP tem a pasta "public" para exibir os dados entao o FTP fica assim:
$upload = ftp_put($conn_id, ("/public/imagem" . $_FILES["Campo"]["name"], $_FILES["Campo"]["tmp_name"], FTP_BINARY);

-------------------------------------------

Só uma observação ... no seu códido você está tentado fazer o FTP pegar os valores via o POST, mas isso não vai dar certo por que o arquivo já deve estar dentro do servidor ou seja ja deve ser feito o updwonload dele antes de enviar para o FTP.

É isso :)

Edição feita por: sk15, 20/01/2007, 17:06.





0 user(s) are reading this topic

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

IPB Skin By Virteq