Laravel 5 - 使用动态FTP信息下载远程文件

时间:2016-01-11 20:56:19

标签: php laravel laravel-5.1

我似乎无法找到有关如何通过FTP下载Laravel 5的远程文件的任何信息。

我尝试使用标准PHP

ftp_connect();

我遇到了这个错误...

Call to undefined function App\Http\Controllers\Tools\ftp_connect()

他们是使用此功能的方法,还是我应该使用Laravel的一部分?

我考虑使用Laravel的某些部分,大多数示例假设您提前知道FTP更新配置文件...但我使用的FTP信息是动态给出的,所以我猜我不能用那个?除非我应该以某种方式使用Config :: set?

我有点失落,非常感谢任何帮助!

2 个答案:

答案 0 :(得分:6)

这是您创建动态FTP驱动程序并使用它的方法。

$ftp = Storage::createFtpDriver([
                                 'host'     => 'ftp.example.com.br',
                                 'username' => 'ftpuser',
                                 'password' => 'password',
                                 'port'     => '21',
                                 //'root'     => '',
                                 //'passive'  => '',
                                 //'ssl'      => '',
                                 'timeout'  => '30',
                             ]); 
$filename = 'path/filename.txt'; 
$ftp->put($filename, 'some file content to write'); 
$filecontent = $ftp->get($filename);

答案 1 :(得分:2)

您可能在namespaced类中,因此PHP在该命名空间内寻找ftp_connect()函数(App \ Http \ Controllers \ Tools)。
要跳回到全局命名空间,只需在函数前添加反斜杠:

\ftp_connect();