FTP

Publicado por Celso Goya 21/11/2004

[ Hits: 13.312 ]

Homepage: [Algum aURL]

Download ftp.php




O objetivo deste script é realizar conexões FTP dinâmicas que possam ser agendadas, pois os programas ftp e gftp-text não permitem o uso via script do stdout em que está sendo executado.

  



Esconder código-fonte

#!/usr/bin/php
<?
/*
Instruções gerais
1) Para executar este script é necessário aplicar chmod 755 neste arquivo.
2) Verifique se o executável do php está instalado em /user/bin/php, caso contrário modifique a primeira linha.

Objetivo
O objetivo deste script é realizar conexões FTP dinâmicas que possam ser agendadas, pois os programas 
ftp e gftp-text não permitem o uso via script do stdout em que está sendo executado

*/
$BASEDIR="/opt/planet";
$HOST = "ftp.meusite.com.br";
$USER = "username";
$PASS = "password";

//Abre uma conexão com o HOST definido
$conn_id = ftp_connect($HOST,21);

//Efetua o login com usuário e senhas definidos
$login_result = ftp_login($conn_id, $USER, $PASS);

//Faz o upload do arquivo $BASEDIR/index.html para o diretório padrão de conexão inicial com o nome index.html
$upload = ftp_put($conn_id, "index.html", "$BASEDIR/index.html", FTP_BINARY);

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

Scripts recomendados

Apache VirtualHosts Config

PortScan em PHP com post usando fsockopen

Cria gráficos para monitoramento de consumo de CPU e Memória a partir de arquivos [Atualização].

PHPsysInfo 2.1

Cria gráficos para monitoramento de consumo de CPU e Memória a partir de arquivos [Atualização].


  

Comentários
[1] Comentário enviado por judabenhur em 08/12/2004 - 11:38h

Celso,

Muito bom...

Eu goataria de saber como ficaria isso, em PHP, fazendo uma adaptacao do shell script. Explico melhor....

Tenho um script de backup, que gera um novo arquivo todo dia. Uso a variavel de ambiente para gerar o nome, da seguinte forma:

DATE=$(date --date "1 day ago" +%Y%m%d)
tar zcvf backup.aplicacao.$DATE.tar.gz
tar zcvf backup.base.$DATE.tar.gz

e outros "tar's"...

Como, no php, fazer o upload destes arquivos, combinados pela variavel "$DATE" e mais de un único arquivo ?

Grato pela ajuda.

Anderson.

[2] Comentário enviado por Oki em 08/12/2004 - 14:29h

Olá,

Pra fazer isso basta concatenar a variável com a data no formato que você pré-determinar. Por exemplo:

$upload = ftp_put($conn_id, $DATA."index.html", "$BASEDIR/index.html", FTP_BINARY);

[3] Comentário enviado por judabenhur em 08/12/2004 - 17:24h

Oi....

Mas eu posso usar a mesma variável ??? Quero saber, a variavel que eu declaro em bash script pode ser a mesma em php ??? (na mesma sintaxe? )

Outra coisa, existe o comando "ftp_mput" , ao invés de ftp_put ???

Me desculpe, mas entendo quase nada de programacao.....

Tks again.

[4] Comentário enviado por Oki em 08/12/2004 - 19:51h

Olá,
Infelizmente não tem o ftp_mput. Para utilizar a data no php, você pode tentar utilizar o seguinte comando:

$upload = ftp_put($conn_id, date("Ymd")."index.html", "$BASEDIR/index.html", FTP_BINARY);

Esse comando vai retornar a data no formato 20041208, caso queira configurar o formato de data, pode modificar o Ymd de acordo com as opções no seguinte link: http://br2.php.net/manual/pt_BR/function.date.php

[]'s
Celso Goya


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts