Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从Laravel中的视图上传文件?_Php_Laravel_Logistic Regression - Fatal编程技术网

Php 如何从Laravel中的视图上传文件?

Php 如何从Laravel中的视图上传文件?,php,laravel,logistic-regression,Php,Laravel,Logistic Regression,我试图在控制器内的请求中捕获CSV文件。我一直在阅读关于在Laravel中使用文件系统的说明,但它似乎返回NULL 在我的控制器内: public function index(Request $request) { $file = $request->file('dataframe'); # This returns null every time if(isset($file)): $dataset = new CsvD

我试图在控制器内的
请求中捕获CSV文件。我一直在阅读关于在Laravel中使用文件系统的说明,但它似乎返回
NULL

在我的控制器内:

public function index(Request $request)
    {
        $file = $request->file('dataframe'); # This returns null every time
        if(isset($file)):

            $dataset = new CsvDataset($file, 1);
            $vectorizer = new TokenCountVectorizer(new WordTokenizer());
            $tfIdfTransformer = new TfIdfTransformer();

            $samples = [];
            foreach ($dataset->getSamples() as $sample)
                $samples[] = $sample[0];

            $vectorizer->fit($samples);
            $vectorizer->transform($samples);

            $tfIdfTransformer->fit($samples);
            $tfIdfTransformer->transform($samples);

            $dataset = new ArrayDataset($samples, $dataset->getTargets());
            $randomSplit = new StratifiedRandomSplit($dataset, 0.1);

            $classifier = new SVC(Kernel::RBF, 10000);
            $classifier->train($randomSplit->getTrainSamples(), $randomSplit->getTrainLabels());

            $predictedLabels = $classifier->predict($randomSplit->getTestSamples());

            $viewVar = (object) [
                'labels' => $predictedLabels,
                'score'  => Accuracy::score($randomSplit->getTestLabels(), $predictedLabels)
            ];

            return view('home')->with('prediction', $viewVar);

        endif;

        return view('home');
    }
在我看来:

<p>You can upload your dataframe below.</p>
    <form method='GET'>
        <input type='file' name='dataframe'>
        <button type='submit' name='upload'>Predict</button>
    </form>
@if (isset($prediction))
    <p> Score: {{ $prediction->score }} </p>
@endif
您可以在下面上传数据帧

预测 @if(isset($预测)) 分数:{{$prediction->Score}

@恩迪夫

当我
var\u dump()
请求时,我可以看到我上传的
languages.csv
文件。如何在
$request
变量中访问此文件?

如果要提交文档,必须使用POST和enctype:

<form method='POST' enctype="multipart/form-data">
    <input type='file' name='dataframe'>
    <button type='submit' name='upload'>Predict</button>
</form>

预测

如果要提交文档,必须使用POST和enctype:

<form method='POST' enctype="multipart/form-data">
    <input type='file' name='dataframe'>
    <button type='submit' name='upload'>Predict</button>
</form>

预测

您的表单缺失
enctype=“多部分/表单数据”
您的表单缺失
enctype=“多部分/表单数据”
啊,我明白了。所以,我无法使用GET提交此文件?我必须使用POST?因为GET会将表单数据附加到当前URL,所以不会。它只包含文件名,而不包含文件内容。GET data限制在2048个字符左右,因此您可能无法将文件放入其中。@Jaquarh我认为这可能对您的疑问非常有帮助:在将其更新到POST(包括
enctype
)后,这就起作用了。谢谢你的回答,我会接受的。啊,我明白了。所以,我无法使用GET提交此文件?我必须使用POST?因为GET会将表单数据附加到当前URL,所以不会。它只包含文件名,而不包含文件内容。GET data限制在2048个字符左右,因此您可能无法将文件放入其中。@Jaquarh我认为这可能对您的疑问非常有帮助:在将其更新到POST(包括
enctype
)后,这就起作用了。谢谢你的回答,我会接受的。