gpt4 book ai didi

php - 在 Laravel 4.2 中上传文件时使用 Input::all()

转载 作者:搜寻专家 更新时间:2023-10-31 20:37:55 25 4
gpt4 key购买 nike

根据 this , 如果您执行以下操作

<?php

// app/routes.php

Route::get('/', function()
{
return View::make('form');
});

Route::post('handle-form', function()
{
var_dump(Input::all());
});

我们将得到以下内容:

array(0) { }

根据 Dayle Rees 的说法,这是因为文件存储在 $_FILES 数组中,而不是 $_GET 或 $_POST 中。所以当我们把第二个函数改成:

Route::post('handle-form', function()
{
var_dump(Input::file('book'));
});

我们得到:

object(Symfony\Component\HttpFoundation\File\UploadedFile)#9 (7) {<
["test":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=><
bool(false)<
["originalName":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=><
string(14) "codebright.pdf"<
["mimeType":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=><
string(15) "application/pdf"<
["size":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=><
int(2370413)<
["error":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=><
int(0)<
["pathName":"SplFileInfo":private]=><
string(36) "/Applications/MAMP/tmp/php/phpPOb0vX"<
["fileName":"SplFileInfo":private]=><
string(9) "phpPOb0vX"<
}<

但是,在我的项目中,当我使用 Input::all() 时,我仍然得到与上面非常相同的正确输出。我使用的文件不同,但我希望你明白这一点。为什么我的项目给出了与书中不同的输出?

最佳答案

如果你查看/vendor/laravel/framework/src/Illuminate/Http/Request.php,

/**
* Get all of the input and files for the request.
*
* @return array
*/
public function all()
{
return array_replace_recursive($this->input(), $this->files->all());
}

其中包含文件和其他输入。由于 CodeBright 是从 Laravel 3 开始的,( http://goo.gl/NWltLh ),我想(但不确定),这部分代码后来在 Laravel 4 上更新了。

关于php - 在 Laravel 4.2 中上传文件时使用 Input::all(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30647735/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com