我正在尝试从Laravel 4中的数组输入中获取值:
$corporate_document = Input::get('corporate_document');
但它返回NULL。
当我转储Input :: all()时,它就在那里:
array(78) {
//other inputs
["corporate_document"]=>
array(3) {
[0]=>
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(21) "image1.png"
["mimeType":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
string(9) "image/png"
["size":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
int(46602)
["error":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
int(0)
["pathName":"SplFileInfo":private]=>
string(14) "/tmp/phpmY7ww1"
["fileName":"SplFileInfo":private]=>
string(9) "phpmY7ww1"
}
[1]=>
object(Symfony\Component\HttpFoundation\File\UploadedFile)#10 (7) {
["test":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
bool(false)
["originalName":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
string(28) "image2.png"
["mimeType":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
string(9) "image/png"
["size":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
int(46602)
["error":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
int(0)
["pathName":"SplFileInfo":private]=>
string(14) "/tmp/phpdT87Cm"
["fileName":"SplFileInfo":private]=>
string(9) "phpdT87Cm"
}
}
}
如何使用Input :: get()或类似的东西从输入corporate_document
获取值?
答案 0 :(得分:0)
这不是常规输入数组,这是一个文件数组,文件的处理方式不同。您无法以访问其他请求数据的方式访问上传的文件。
您可以尝试:
Input::allFiles(); // See a list of all files
Input::hasFile('corporate_document'); // See if a file exists
Input::file('corporate_document')->move($path); // Rename the file
我唯一担心的是你的corporate_document
是一个数组 - 在这种情况下我还不确定如何解决它,但allFiles()可能会给你答案。也许它会变成类似Input::file('corporate_document.0');
另请注意,Input facade只是Request类的访问者(在Laravel 5中) - 因此您可以运行所有the same methods。
如果您使用的是Laravel 4 - API应该是相同的。