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
