php ftp连接错误返回,php实现ftp功能和问题解决

利用php实现ftp功能操作。

遇到问题:ftp_nlist(): php_connect_nonb() failed: No error (0)

解决该问题:

添加设置:

ftp_set_option($conn,FTP_USEPASVADDRESS,false);

说明

bool ftp_set_option ( resource $ftp_stream , int $option , mixed  $value )

本函数控制指定 FTP 流的各种运行时选项。

参数

ftp_stream

FTP 连接的标识符。

option

目前支持以下选项:

FTP_TIMEOUT_SEC更改所有网络相关功能所用的超时(以秒为单位)。value必须为大于0的整数。默认超时为90秒。

FTP_AUTOSEEK启用后,带有resumepos或startpos 参数的GET或PUT请求 将首先查找文件中的请求位置。默认情况下启用。

FTP_USEPASVADDRESS禁用后,PHP将忽略FTP服务器响应PASV命令返回的IP地址,而是使用ftp_connect()中提供的IP地址。 value必须是布尔值。

value

本参数取决于要修改哪个 option

主要方法如下:<?php

function ftp()

{

$host = '登录地址';

$port = '21';

$user = '用户名';

$pwd = '用户密码';

if (!function_exists('ftp_connect')) {

return ['code' => -1, 'ftp未安装'];

}

$conn = ftp_connect($host, $port);

//切换目录

//ftp_chdir($conn, "toDirName");

// 使用username和password登录

$login = ftp_login($conn, $user, $pwd);

if (!$login) {

return ['code' => -1, '登录失败'];

}

//禁用后,PHP将忽略FTP服务器响应PASV命令返回的IP地址,而是使用ftp_connect()中提供的IP地址。 value必须是布尔值。

ftp_set_option($conn, FTP_USEPASVADDRESS, false);

//被动模式(PASV)的开关,打开或关闭PASV(1表示开)

ftp_pasv($conn, true);

// 获取远端系统类型

$sysType = ftp_systype($conn);

$myDir = ftp_pwd($conn);

// 列示文件

$fileList = ftp_nlist($conn, '.');

ftp_close($conn);

return [

$myDir, $sysType, $fileList

];

// 下载文件,mode:传送模式。只能为 (文本模式) FTP_ASCII 或 (二进制模式) FTP_BINARY 中的其中一个

ftp_get($conn, "localFileName.txt", "remoteFileName.txt", FTP_BINARY);

//切换到上级目录

ftp_cdup($conn);

//新建目录

ftp_mkdir($conn, "newDirName");

//删除目录

ftp_rmdir($conn, "toDeleteDirName");

//上传文件,mode:只能为 FTP_ASCII(文本模式)或 FTP_BINARY(二进制模式)

ftp_put($conn, "remoteFileName", "localFileName", FTP_ASCII);

//函返回你所指定的文件的大小,使用BITES作为单位。要指出的是,如果它返回的是 “-1”的话,意味着这是一个目录

$fileSize = ftp_size($conn, "fileName");

// 关闭连接

ftp_quit($conn);

}

print_r(ftp());

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值