laravel5.4 ftp新建目录出错

修改

vendor->league->flysystem->Adapter->Ftp.php

createDir 方法改成:
public function createDir($dirname, Config $config)
{
    $connection = $this->getConnection();
    $directories = explode('/', $dirname);
    foreach ($directories as $directory) {
        if (false === $this->createActualDirectory($directory, $connection))
        {
            $this->setConnectionRoot();
            return false;
        }
    }
    $this->setConnectionRoot();
    return ['type' => 'dir', 'path' => $dirname];
}
createActualDirectory方法改成:
protected function createActualDirectory($directory, $connection)
{
    // List the current directory
    $listing = ftp_nlist($connection, '.') ?: [];

    foreach ($listing as $key => $item) {
        if (preg_match('~^\./.*~', $item)) {
            $listing[$key] = substr($item, 2);
        }
    }

    if (in_array($directory, $listing, true)) {
        return true;
    }
    if( @ftp_chdir($connection, $directory) === false )
    {
        return (boolean) ftp_mkdir($connection, $directory);
    }else
    {
        return true;
    }

}
 
Storage::disk('ftp')->makeDirectory( $Directory );//可直接传入ftp绝对路径

更简单的方法可参考http://www.xiaoshu168.com/php/46.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值