XXXIX. 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 --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().

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 -- Allocates space for a file to be uploaded
ftp_cdup -- Muda para o diretório acima
ftp_chdir -- Muda o diretório 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 programa no servidor FTP
ftp_fget -- Copia um arquivo de um servidor FTP e salva para um arquivo aberto
ftp_fput -- Carrega um arquivo aberto para um servidor FTP
ftp_get_option -- Obtém opções em tempo de executão da conexão FTP atual
ftp_get -- Copia um arquivo de um servidor FTP
ftp_login -- Realiza o login em uma conexão FTP
ftp_mdtm -- Retorna o tempo da última modificação em um arquivo
ftp_mkdir -- Cria um diretório
ftp_nb_continue -- Continua recuperando/enviando um arquivo(sem bloquear)
ftp_nb_fget -- Obtém um arquivo de um servidor FTP e escreve para um ponteiro de arquivo (sem bloquear)
ftp_nb_fput -- Salva um arquivo aberto para um servidor FTP(sem bloquear)
ftp_nb_get -- Obtém um arquivo do servidor FTP e salva em um arquivo local(sem bloquear)
ftp_nb_put -- Salva um arquivo em um servidor FTP(sem bloquear)
ftp_nlist -- Retorna uma lista de arquivos do diretório indicado
ftp_pasv -- Muda o modo passivo para on(ligado) ou off(desligado)
ftp_put -- Salva um arquivo em um servidor FTP
ftp_pwd -- Retorna o nome do diretório atual no servidor FTP
ftp_quit -- Apelido para ftp_close()
ftp_raw -- Envia um comando arbitrário ao servidor FTP
ftp_rawlist -- Retorna uma lista detalhada dos arquivos em um diretório
ftp_rename -- Renomeia um arquivo no servidor FTP
ftp_rmdir -- Remove um diretório
ftp_set_option -- Define opções do FTP em tempo de execução
ftp_site -- Envia um comando SITE para o servidor
ftp_size -- Retorna o tamanho de um arquivo
ftp_ssl_connect -- Abre uma conexão segura SSL-FTP
ftp_systype -- Retorna o tipo de sistema do servidor FTP