将文件插入数据库后移动文件

时间:2016-03-17 08:00:11

标签: php laravel-5.1

我有一个文件夹,我从中获取xml文件内容并将其插入数据库。我所面临的挑战是将文件从原始目标移动到另一个目的地,在这种情况下,该目的地可用作备份存储。

我收到错误消息

  

调用未定义的方法Symfony \ Component \ Finder \ SplFileInfo :: getClientOriginalName()

在我的控制器中,我使用了

use Symfony\Component\Finder\SplFileInfo;

下面是我用于获取文件内容并将其插入数据库的代码。

public function store(Request $request)
{
$directory = storage_path('app/xmlentries/uploads'); //Folder I am getting file contents from

$files = File::allFiles($directory);

foreach($files as $file) {

$contents = $file->getContents();

foreach((array) $contents as $content)
{
$simpleXml = simplexml_load_string($content);

$data = [
'experience' => $simpleXml->ExportData->Requisition->EssentialFunction,
'job_requirements' => $simpleXml->ExportData->Requisition->EssentialFunction,               
];

Vacancy::insert($data);
}
}

$destinationPath = storage_path('app/xmlentries/processed');

$request->file($file->getClientOriginalName())->move($destinationPath);

请注意,将文件内容插入数据库工作正常。我如何获得可用于将文件移动到新目的地的文件的文件名

1 个答案:

答案 0 :(得分:0)

来自Laravel recipes

if (!File::move($oldfile, $newfile))
{
    die("Couldn't rename file");
}