php ftp 创建文件夹失败,php ftp_put失败怎么办

php ftp_put失败的解决办法:首先打开“Upload/Driver/Ftp.class.php”;然后使用“ftp_pasv($this->link,true);”方法切换到被动模式;最后在客户端重新上传文件即可。

6ce836c22e3fd3808d4da6d0f2a1749c.png

推荐:《PHP教程》

PHP Upload FTP驱动 ftp_put 函数上传失败问题

2台服务器,一台做ftp服务器,一台做web服务器。

我使用的thinkphp3.2得Upload类,使用了上传FTP驱动,但是每次都说文件保存失败。

我寻找答案,异步和同步都测试,都不行,远程端/tmp/ 和ftp目录也有777权限。

Thinkphp应该很成熟,后面我在官方的文档找到了一些答案,其中有解释模式

ftp服务器主动模式,ftp服务器被动模式,我使用 ftp_pasv($this->link,true); 切换到被动模式,客户端就可以顺利上传文件了。

下面是解决方案

Upload/Driver/Ftp.class.php sava函数public function save($file, $replace=true) {

$filename = $file['rootPath']. $file['savepath'] . $file['savename'];

/* 不覆盖同名文件 */

// if (!$replace && is_file($filename)) {

// $this->error = '存在同名文件' . $file['savename'];

// return false;

// }

ftp_pasv($this->link,true);

ftp_pwd($this->link);

$filename=$file['savename'];

if (!ftp_put($this->link, $filename, $file['tmp_name'],FTP_ASCII)) {

$this->error = '文件上传FTP错误!';

return false;

}

return true;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用C#创建FTP文件的示例代码: ```csharp using System; using System.Net; class Program { static void Main(string[] args) { string ftpFolderName = "newFolder"; // 要创建的文件名称 string ftpServerIP = "ftp://ftp.example.com"; // FTP服务器地址 string ftpUserID = "username"; // FTP登录用户名 string ftpPassword = "password"; // FTP登录密码 try { // 创建FTP请求对象 FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ftpServerIP + "/" + ftpFolderName); request.Method = WebRequestMethods.Ftp.MakeDirectory; request.Credentials = new NetworkCredential(ftpUserID, ftpPassword); // 发送FTP请求 FtpWebResponse response = (FtpWebResponse)request.GetResponse(); Console.WriteLine("FTP文件创建成功!"); response.Close(); } catch (WebException ex) { FtpWebResponse response = (FtpWebResponse)ex.Response; if (response.StatusCode == FtpStatusCode.ActionNotTakenFileUnavailable) { Console.WriteLine("FTP文件已存在!"); } else { Console.WriteLine("FTP文件创建失败:" + ex.Message); } } } } ``` 该示例代码使用`FtpWebRequest`类创建FTP请求对象,并设置请求方法为`WebRequestMethods.Ftp.MakeDirectory`,表示创建文件。然后设置FTP登录用户名和密码,并发送FTP请求。如果文件已存在,则会捕获`WebException`异常,并判断异常状态码是否为`FtpStatusCode.ActionNotTakenFileUnavailable`,如果是,则表示文件已存在,否则表示创建文件失败

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值