从数组输入时获取值 - Laravel 5

时间:2016-05-31 20:43:13

标签: php arrays laravel input

我正在尝试从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获取值?

1 个答案:

答案 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应该是相同的。