使用Laravel 5在数据库中上传文件

时间:2017-09-18 13:00:24

标签: php mysql laravel laravel-5 input

我正在我的localhost(在我的本地服务器中)使用Laravel开发一个网站,在我的项目的某些部分,我需要上传一些XML文件以生成带有phpexcel api的Excel文件。这就是我的工作进展:

1 - 我用表单创建xml文件并将它们存储在我项目的公共目录中

2-当我想上传并使用这些xml文件时,我只是从输入中取名并将它们添加到url中以打开存储localy的文件(如下所示:)

$xml_tmu=simplexml_load_file($url) or die("Error: Cannot create object");

所以我的问题是:当我将我的网站上传到服务器时,是否需要将我的xml文件存储在数据库中,以便我可以在之后使用它们,或者它们将在服务器的公共目录中创建(和我本地服务器上的一样东西)?如果没有,这样做的最佳解决方案是什么?

1 个答案:

答案 0 :(得分:1)

如果您不想使用数据库在服务器中存储文件,则无需使用数据库。

如果你的远程服务器上运行了一个普通的Laravel应用程序,你的应用程序目录的根目录中可能有一个可写storage文件夹,所以你可以这样做

$xmlFilename = 'whatevernameyouneedhere.xml';

$xml_tmu = simplexml_load_file($url) or die("Error: Cannot create object");

Storage::put($xmlFilename, $xml_tmu);

然后你可以使用

取回它
$xml = Storage::get($xmlFilename);

它本地或远程工作,当然,如果您的存储文件夹可写入网络服务器用户(nginx,apache2,www-data ....)