Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Faian

Envio de arquivo por FTP

Recommended Posts

Pessoal dá uma força ai estou tentando enviar arquivos via FTP mas estou encontranto dificuldade. e tenho uma duvida para enviar arquivos locais para o servidor mesmo usando FTP posso usar dessa maneira aqui:

$remote_file = "http://www.meusite.com.br/saldos/importa/arquivos\\";

$local_file = "e:/teste/USUARIOS.TXT";

ou eu tenho que usar o $_FILES['arquivo']['name']; passando o arquivo pelo form usando enctype="multipart/form-data"

e no <input type="file" size="80" name="arquivo">

 

 

meu codigo é esse:

 

 

$ftp_server = 'ftp';
$ftp_user_name = 'ftp';
$ftp_user_pass = 'ftp';
$remote_file = "http://www.meusite.com.br/saldos/importa/arquivos\\";
$local_file = "e:/teste/USUARIOS.TXT";

// Cria a conexão
$conn_id = ftp_connect($ftp_server);

// login com o nome de usuário e senha
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// confere a conexão
if ((!$conn_id) || (!$login_result)) {
		echo "A conexão FTP falhou!";
		echo "Tentou conectar ao servidor $ftp_server para o usuário $ftp_user_name";
		exit;
	} else {
		echo "Conectado ao servidor $ftp_server, para o usuário $ftp_user_name";
	}

// carrega o arquivo
$upload = ftp_put($conn_id, $remote_file, $local_file, FTP_BINARY);

// confere o upload do arquivo
if (!$upload) {
		echo "O upload FTP falhou!";
	} else {
		echo "Carregado o arquivo $source_file no servidor $ftp_server como $destination_file";
	}

// fecha a conexão FTP
ftp_close($conn_id);

mas não esta dando certo esta me aparecendo o seguinte erro Warning: ftp_put(e:/teste/USUARIOS.TXT) [function.ftp-put]: failed to open stream: No such file or directory in /home/restricted/home/meusite/public_html/saldos/importa/arquivos/ftp.php on line 39

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por quê você adicionou uma barra inversa no destino do arquivo ?

$remote_file = "http://www.meusite.com.br/saldos/importa/arquivos\\";
E aí também ficou faltando o nome do arquivo. Veja como deve ficar:

http://br.php.net/manual/pt_BR/function.ftp-put.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por quê você adicionou uma barra inversa no destino do arquivo ?

$remote_file = "http://www.meusite.com.br/saldos/importa/arquivos\\";
E aí também ficou faltando o nome do arquivo. Veja como deve ficar:

http://br.php.net/manual/pt_BR/function.ftp-put.php

beleza ATÉ QUE FOI MAS SOMENTE DA MINHA MAQUINA, OU SEJA, QUANDO EU COLCO O CODIGO NO SERVIDOR NAO FUNCIONA CONTINUA DANDO O MESMO ERRO.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esta variável aqui $remote_file deve se referir ao path do arquivo no sistema de arquivos, e você está usando a URL.

URL´s são para os browsers localizarem arquivos, e não o sistema.

 

Corrige isso e se não der certo deixa eu ver como está seu script agora.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro desculpe pela demora é que ontem eu fiquei bem dizer a tarde inteira sem internet.

Certo vamos lá então Marcio, olha ainda não deu certo como disse só funciona se eu colocar o script para rodar no meu servidor local, qdo jogo para meu servidor lá na LOCAWEB não dá certo me mostra o erro:

 

Conectado ao servidor ftp.com.br, para o usuário user

Warning: ftp_put(e:/teste/teste.txt) [function.ftp-put]: failed to open stream: No such file or directory in /home/restricted/home/meusite/public_html/intranet/saldos/importa/ftp.php on line 41

O upload FTP falhou!

 

o diretorio (( e: )) esta compartilhado e com todas as permissoes e a pasta arquivo para onde estou tentanto enviar tbem esta com todos os acesso 777. meu codigo agora esta assim

 

<?php



$ftp_server = 'ftp.com.br';
$ftp_user_name = 'user';
$ftp_user_pass = 'password';
$remote_file = '//public_html/intranet/saldos/importa/arquivos/teste.txt';
$local_files = 'e:/teste/teste.txt';


// Cria a conexão
$conn_id = ftp_connect($ftp_server);

// login com o nome de usuário e senha
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// confere a conexão
if ((!$conn_id) || (!$login_result)) {
		echo "A conexão FTP falhou!";
		echo "Tentou conectar ao servidor $ftp_server para o usuário $ftp_user_name";
		exit;
	} else {
		echo "Conectado ao servidor $ftp_server, para o usuário $ftp_user_name";
	}

// carrega o arquivo
$upload = ftp_put($conn_id, $remote_file, $local_files, FTP_BINARY);

// confere o upload do arquivo
if (!$upload) {
		echo "O upload FTP falhou!";
	} else {
		echo "Carregado o arquivo $source_file no servidor $ftp_server como $destination_file";
	}

// fecha a conexão FTP
ftp_close($conn_id);
?>

estou fazendo algo errado?

Obrigado por enquanto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse erro diz que o arquivo não existe, é um simples problema com caminhos.

E o que significa isso ?

o diretorio (( e: )) esta compartilhado e com todas as permissoes e a pasta arquivo para onde estou tentanto enviar tbem esta com todos os acesso 777
Você deu chmod num servidor Windows ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigos do imaster,

 

tbm estou com a mesma duvida, peguei o codigo do php.net, fiz direitinho mais deu o mesmo erro que o Faian reportou

 

Warning: ftp_put() [function.ftp-put]: Rename/move failure: No such file or directory,

 

o meu codigo esta identico ao de cima isentando os dados de arquivo local e arquivo de destino, bem como conexoes.

 

alguem sabe o que pode estar acontecendo, sendo que a pasta onde estou salvando tbm possui permissao 777 para pastas e subpastas.

Fiz um file_exists no arquivo local para verificar e a resposta exibida na tela é

 

O arquivo img_galeria/0fbf576d8ec9441b4e8c7242c009d344.jpg existe

Conectado ao servidor XXX, para o usuário XXXXX

Warning: ftp_put() [function.ftp-put]: Rename/move failure: No such file or directory in /home/xxxxxxxxx/public_html/cliente/envia_img.php on line 26

O upload FTP falhou!

 

 

$conn_id = ftp_connect("servidor.com.br");

$remote_file = "images/dinamica/0fbf576d8ec9441b4e8c7242c009d344.jpg";

$local_file = "img_galeria/0fbf576d8ec9441b4e8c7242c009d344.jpg";

 

na linha 26

 

$upload = ftp_put($conn_id, $remote_file, $local_file, FTP_BINARY);

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.