Laravel5.4ftp新建多级目录出错
ftp新建已存在的目录出异常ftp_mkdir(): /aa: Already exists, failed to create
解决方法找到:vendor->league->flysystem->src->Adapter->Ftp.php修改方法createDir大约在332行
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;
}
ftp_chdir($connection, $directory);
}
$this->setConnectionRoot();
return ['type' => 'dir', 'path' => $dirname];
}
public function createDir($dirname, Config $config)
{
$connection = $this->getConnection();
$directories = explode('/', $dirname);
foreach ($directories as $directory) {
if( !@ftp_chdir($connection, $directory) )
{
ftp_mkdir($connection, $directory);
ftp_chdir($connection, $directory);
}
}
$this->setConnectionRoot();
return ['type' => 'dir', 'path' => $dirname];
}
使用
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
class IndexController extends Controller
{
public function index()
{
$a = '/aa/bb/9';
Storage::makeDirectory($a);
}
}