XLVI. FTP

Introdução

As funções nesta extenção implementam o acesso de clientes para servidores de arquivos usando o File Transfer Protocol (FTP) como definido em http://www.faqs.org/rfcs/rfc959. Esta extenção permite acesso detalhado ao servidor FTP provendo um grande controle ao script. Se você quer somente ler ou escrever em um servidor FTP, você pode considerar o uso do wrapper ftp:// com as funções do sistema de arquivo o que prove um meio fácil e intuitivo.

Dependências

Nenhuma biblioteca externa é necessária para compilar esta extensão.

Instalação

Para utilizar as funções de FTP na sua configuração do PHP, você deve adicionar a opção --enable-ftp quando estiver instalando o PHP 4 ou posterior, --with-ftp quando estiver instalando o PHP 3.

A versão para Windows do PHP tem suporte embutido para esta extensão. Você não precisa carregar nenhuma extensão adicional para utilizar essas funções.

Configurações em execução

Esta extensão não define nenhum parâmetro de configuração no php.ini.

Tipos Resource

Este extenção usa um tipo resource, o qual é o identificador da conexão FTP, retornado por ftp_connect() ou ftp_ssl_connect().

Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

FTP_ASCII (integer)

FTP_TEXT (integer)

FTP_BINARY (integer)

FTP_IMAGE (integer)

FTP_TIMEOUT_SEC (integer)

Veja ftp_set_option() para maiores informações.

As seguintes constantes foram introduzidas no PHP 4.3.0.

FTP_AUTOSEEK (integer)

Veja ftp_set_option() para maiores informações.

FTP_AUTORESUME (integer)

Determina automaticamente a posição de reinício e início para requisições GET e PUT (funciona somente se FTP_AUTOSEEK estiver ativada)

FTP_FAILED (integer)

A transferência assincronoma falhou

FTP_FINISHED (integer)

A transferência assincronoma terminou

FTP_MOREDATA (integer)

A transferência assincronoma ainda esta ativa

Exemplos

Exemplo 1. Exemplo de FTP

<?php
// 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
"Conectaado ao servidor $ftp_server, para o usuário $ftp_user_name";
    }

// carrega o arquivo
$upload = ftp_put($conn_id, $destination_file, $source_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);
?>

Índice
ftp_alloc -- Aloca espaço para um arquivo a ser enviado para o servidor (uploaded)
ftp_cdup -- Muda para o diretório acima
ftp_chdir -- Muda o diretório atual em um servidor FTP
ftp_chmod -- Estabelece as permissões de um arquivo via FTP
ftp_close -- Fecha uma conexão FTP
ftp_connect -- Abre uma conexão FTP
ftp_delete -- Exclui um arquivo no servidor FTP
ftp_exec -- Solicita a execução de um comando no servidor FTP
ftp_fget -- Copia um arquivo do servidor FTP e salva em um arquivo aberto
ftp_fput -- Envia um arquivo aberto para um servidor php
ftp_get_option -- Obtém várias opções em tempo de execução da conexão FTP atual
ftp_get -- Copia um arquivo do servidor FTP
ftp_login -- Realiza o login em uma conexão FTP
ftp_mdtm -- Retorna a hora da ultima modificação no arquivo indicado
ftp_mkdir -- Cria um diretório
ftp_nb_continue -- Continua a receber/enviar um arquivo (sem bloquear)
ftp_nb_fget -- Obtém um arquivo de um servidor FTP e escreve-o para um arquivo aberto(sem bloquear)
ftp_nb_fput -- Grava um arquivo a partir de um arquivo aberto no servidor FTP (sem bloquear)
ftp_nb_get -- Obtém um arquivo do servidor FTP e escreve-o em um arquivo local (sem bloquear)
ftp_nb_put -- Grava um arquivo no servidor FTP (sem bloquear)
ftp_nlist -- Retorna a lista dos arquivos em um dado diretório
ftp_pasv -- Muda o modo passivo em on(ligado) ou off(desligado)
ftp_put -- Envia um arquivo para o servidor FTP
ftp_pwd -- Retorna o nome do diretório atual
ftp_quit -- Sinônimo de ftp_close()
ftp_raw -- Envia um comando arbritário para o servidor FTP
ftp_rawlist -- Retorna uma lista detalhada dos arquivos em um diretório
ftp_rename -- Renomeia um arquivo ou diretório no servidor FTP
ftp_rmdir -- Remove um diretório
ftp_set_option -- Define opções diversas em tempo de execução
ftp_site -- Envia o comando SITE para o servidor
ftp_size -- Retorna o tamanho de um dado arquivo
ftp_ssl_connect -- Abre uma conexão SSL-FTP segura
ftp_systype -- Retorna o identificador do tipo do sistema do servidor FTP remoto