Laravel批处理文件上传

时间:2018-06-15 03:00:22

标签: laravel-5

我有一个csv文件,其结构如下:

id,title,sub_title,filename 1,Title 1, Sub Title 1,filename_1.mp3 2,Title 2, Sub Title 2,filename_2.mp3 3,Title 3, Sub Title 3,filename_3.mp3 (...)

我在App \ Console \ Command(artisan命令)中加载CSV文件 假设文件系统上存在文件且路径正确,对于每个csv行,如何上传相关文件并使用Validator类对其进行验证?

我正在使用此代码:

$validator = Validator::make(array('filename' => 'path_to_filename_x.mp3'), [
    'filename' => 'required|file|audio:mp3,wav,ogg',
]);

if ($validator->fails()) {
    echo '<pre>';
    print_r($validator->errors());
    echo '</pre>';
    die();

}

我收到错误:
&#34;属性必须是文件。&#34;
因为我发送文本而不是资源(我想)。

如何在不使用Laravel 5.6的表单的情况下上传这些文件?

THKS!

1 个答案:

答案 0 :(得分:1)

问题:如何上传相关文件并使用Validator类进行验证?

验证文件:

在laravel中创建自定义规则,您可以在其中添加逻辑,如。

if(file_exists($path)){

   //check for file type

}

上传文件:

使用$fcontent = file_get_contents($filepath)file_put_contents($newfilepath, $fcontent)