FTP驅動配置 Laravel 的文件系統集成了 FTP 操作,不過,框架默認的配置文件 filesystems.php 並沒有提供示例配置。如果你需要配置一個FTP文件系統,可以使用以下示例配置: 'ftp' => [ 'driver' => 'ftp', 'host' => 'ftp.example.com', 'username' => 'your-username', 'password' => 'your-password', // Optional FTP Settings... // 'port' => 21, // 'root' => '', // 'passive' => true, // 'ssl' => true, // 'timeout' => 30, ],
上面提供的是通過操作config/filesystems.php文件的ftp驅動。
第二種是FTP驅動配置,是對laravel進行FTP擴展:
1.打開laravel框架 composer.json 文件 在 "require" 中添加 "anchu/ftp": "~2.0" ,運行composer update ,
2.在config/app.php
以下位置添加服務提供商: Anchu\Ftp\FtpServiceProvider::class,
3.運行 php artisan vendor:publish 生產ftp.php 文件 在這個文件修改ftp鏈接配置
4.控制器 直接調用 ftp 使用類 例如 :use FTP;
使用方法 :
$ status = FTP :: connection() - > makeDir( ' directory-name '); 詳細請看下文
5.config/ftp.php文件配置第一個ftp賬號:
'connections' => array(
'connection1' => array(
'host' => '196.168.1.108', //此地方需要改成ftp站點綁定的域名
'port' => 21, //改成自己的
'username' => 'miniapp', //改成自己的
'password' => '123456', //改成自己的
'passive' => false, //改成自己的
),
),
6.控制器中調用FTP方法:
Ftp::connection('connection1')->makeDir("123")
此方法會在FTP賬號下面生成123文件夾
支持的方法
getDirListing($ directory,$ parameters)
返回給定目錄中的文件列表
$directory
:要列出的目錄。默認值:.
。$parameters
:可選參數前綴與目錄。例如:-la
。默認值:null
。
getDirListingDetailed($ directory)
返回給定目錄中的文件列表,作為具有以下關鍵字的關聯數組:權限,數字,用戶,組,大小,月份,日期和時間
$directory
:要列出的目錄。默認值:.
。
makeDir($ directory)
在FTP服務器上創建指定的目錄。
$directory
:將要創建的目錄的名稱。
changeDir($ directory)
更改FTP服務器上的當前目錄。
$directory
:目標目錄。
uploadFile($ fileFrom,$ fileTo,$ mode)
將本地文件上傳到FTP服務器。
$fileFrom
:本地文件路徑。$fileTo
:遠程文件路徑。$mode
:傳輸模式。必須是FTP_ASCII
或FTP_BINARY
。如果沒有指定模式,自動模式分辨率將被完成。
downloadFile($ fileFrom,$ fileTo,$ mode)
從FTP服務器下載文件
$fileFrom
:遠程文件路徑。$fileTo
:本地文件路徑(如果文件已存在,將被覆蓋)或我們存儲數據的打開的文件指針。- 。
$mode
:傳輸模式。必須是FTP_ASCII
或FTP_BINARY
。如果沒有指定模式,自動模式分辨率將被完成。
readFile($ fileFrom)
與該downloadFile()
方法相同,除了它將遠程文件下載到PHP輸出緩沖區並返回。
$fileFrom
:遠程文件路徑。
提升()
對父目錄的更改。
權限($ mode,$ filename)
設置文件的權限。
$mode
:新的權限,以八進制值給出。$filename
:遠程文件。
delete($ path)
從FTP服務器刪除由路徑指定的文件。
$path
:要刪除的文件。
currentDir()
返回當前目錄名
重命名($ oldName,$ newName)
重命名FTP服務器上的文件或目錄。
$oldName
:舊文件/目錄名稱。$newName
:新名字
removeDir($ directory,$ recursive)
刪除目錄
$directory
:要刪除的目錄。這必須是空目錄的絕對路徑或相對路徑。$recursive
:遞歸刪除文件夾。默認值:false。
truncateDir($ directory)
截斷目錄
$directory
:要截斷的目錄。這必須是目錄的絕對路徑或相對路徑。
size($ remoteFile)
以字節為單位返回給定文件的大小。 Note: Not all servers support this feature.
$remoteFile
:遠程文件。
time($ remoteFile)
返回給定文件的最后修改時間 Note: Not all servers support this feature.
$remoteFile
:遠程文件。
原文地址:http://blog.csdn.net/hg421/article/details/66971290
第二種ftp的優秀文章:
https://laravel-china.org/topics/269/as-a-project-driven-rookie-share-two-package-laravel-ftp-remote-ftp-and-intervention-image-image-processing