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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章