基本用法

Example #1 FTP 例程

<?php
// 建立基础连接
$conn_id ftp_connect($ftp_server); 

// 使用用户名和口令登录
$login_result ftp_login($conn_id$ftp_user_name$ftp_user_pass); 

// 检查是否成功
if ((!$conn_id) || (!$login_result)) { 
    echo 
"FTP connection has failed!";
    echo 
"Attempted to connect to $ftp_server for user $ftp_user_name"
    exit; 
} else {
    echo 
"Connected to $ftp_server, for user $ftp_user_name";
}

// 上传文件
$upload ftp_put($conn_id$destination_file$source_fileFTP_BINARY); 

// 检查上传结果
if (!$upload) { 
    echo 
"FTP upload has failed!";
} else {
    echo 
"Uploaded $source_file to $ftp_server as $destination_file";
}

// 关闭 FTP 流
ftp_close($conn_id); 
?>

User Contributed Notes

kane dot prajakta at gmail dot com 14-Jan-2010 11:53
I used following code successfully to connect to "lftp" server and see the complete dir listing.
also ftp_pasv($conn_id, true); trick works fine for lftp server :)

<?php
// set up basic connection
$ftp_server = "example.com";
$conn_id = ftp_ssl_connect($ftp_server);

// login with username and password
$ftp_user_name = "myuser";
$ftp_user_pass = "mypass";
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
ftp_pasv($conn_id, true);
// check connection
if ((!$conn_id) || (!$login_result)) {
        echo
"FTP connection has failed!";
        echo
"Attempted to connect to $ftp_server for user $ftp_user_name";
        exit;
    } else {
        echo
"Connected to $ftp_server, for user $ftp_user_name";
    }

$buff = ftp_rawlist($conn_id, '.');
 
var_dump($buff);
ftp_close($conn_id); 
?>

Thanks ,
Prajakta
clemensroth2004 at yahoo dot de 09-Jul-2009 12:06
My FTP-Server always responded "bool(false)" instead of presenting me a directory-listing. I had to add
ftp_pasv($conn_id, true); right after the $login_result = ftp_login(...); line.
After that it just worked fine.