Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/128.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 4图像上载返回空值_Php_File Upload_Laravel 4 - Fatal编程技术网

Php Laravel 4图像上载返回空值

Php Laravel 4图像上载返回空值,php,file-upload,laravel-4,Php,File Upload,Laravel 4,我有一个Laravel表单,允许通过Ajax调用上传文件: {{ Form::open(array('url' => 'upload/image', 'files' => true, 'id' => 'profile-form')) }} {{ Form::file('avatar', $attributes = array( 'id' => 'file-avatar', 'style' => 'display:none' )) }} {{ Form::close(

我有一个Laravel表单,允许通过Ajax调用上传文件:

{{ Form::open(array('url' => 'upload/image', 'files' => true, 'id' => 'profile-form')) }}
{{ Form::file('avatar', $attributes = array( 'id' => 'file-avatar', 'style' => 'display:none' )) }}
{{ Form::close() }}
php artisan --version
Laravel Framework version 4.2.16
路线:

Route::post('upload/image', function(){
    echo "<pre>";
    var_dump(Input::file('avatar'));
    echo "</pre>";
});
响应选项卡:

和我的php.ini:

<pre>array(1) {
  [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(8) "2789.jpg"
    ["mimeType":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
    string(10) "image/jpeg"
    ["size":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
    int(1860197)
    ["error":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
    int(0)
    ["pathName":"SplFileInfo":private]=>
    string(43) "/var/www/clients/client1/web3/tmp/php9MJkdO"
    ["fileName":"SplFileInfo":private]=>
    string(9) "php9MJkdO"
  }
}
</pre>
编辑

Chrome开发者工具中提供了一个
Input::all()
上的
var\u dump()

预览选项卡:

<pre>array(1) {
  [0]=>
  array(5) {
    ["name"]=>
    string(8) "4371.jpg"
    ["type"]=>
    string(10) "image/jpeg"
    ["tmp_name"]=>
    string(43) "/var/www/clients/client1/web3/tmp/phpmoigFb"
    ["error"]=>
    int(0)
    ["size"]=>
    int(2041196)
  }
}
</pre>
var data = new FormData( $( '#profile-form')[0] );
响应选项卡:

数组(1){
[0]=>
对象(Symfony\Component\HttpFoundation\File\UploadedFile)#9(7){
[“测试”:“Symfony\Component\HttpFoundation\File\UploadedFile”:private]=>
布尔(假)
[“原始名称”:“Symfony\Component\HttpFoundation\File\UploadedFile”:private]=>
字符串(8)“2789.jpg”
[“mimeType”:“Symfony\Component\HttpFoundation\File\UploadedFile”:private]=>
字符串(10)“图像/jpeg”
[“大小”:“Symfony\Component\HttpFoundation\File\UploadedFile”:private]=>
国际(1860197)
[“错误”:“Symfony\Component\HttpFoundation\File\UploadedFile”:private]=>
int(0)
[“路径名”:“SplFileInfo”:private]=>
字符串(43)“/var/www/clients/client1/web3/tmp/php9MJkdO”
[“fileName”:“SplFileInfo”:private]=>
字符串(9)“php9MJkdO”
}
}

好吧,我将回答我自己的问题,如果我忘了提供Javascript代码,那么我很抱歉这不够相关

问题位于这条线路上:

如果在同一页面上有两个或更多表单(我就是这样),则需要使用
[0]
(取决于表单位置)从jQuery数组中获取表单元素,否则它将无法正常工作


我希望它能帮助其他人不要像我今天这样浪费太多时间。

我可以知道你使用的是哪一个操作系统吗?Debian GNU/Linux 7(wheezy)所以可能是你的文件权限错误,你的文件夹需要设置777权限我刚刚在tmp文件夹上做了一个chmod 777,我仍然遇到同样的问题/错误。我已经用另一个测试结果编辑了我的问题。然后请尝试使用simple而不是laravel文件库,让我们看看会发生什么?
undefined: {undefined: 9, 2789.jpg: ["mimeType"], image/jpeg: ["size"],…}
2789.jpg: ["mimeType"]
0: "mimeType"
/var/www/clients/client1/web3/tmp/php9MJkdO: ["fileName", "SplFileInfo"]
0: "fileName"
1: "SplFileInfo"
image/jpeg: ["size"]
0: "size"
undefined: 9
<pre>array(1) {
  [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(8) "2789.jpg"
    ["mimeType":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
    string(10) "image/jpeg"
    ["size":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
    int(1860197)
    ["error":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
    int(0)
    ["pathName":"SplFileInfo":private]=>
    string(43) "/var/www/clients/client1/web3/tmp/php9MJkdO"
    ["fileName":"SplFileInfo":private]=>
    string(9) "php9MJkdO"
  }
}
</pre>
var data = new FormData( $( '#profile-form')[0] );