Symfony2-2.6文件上载

Symfony2-2.6文件上载,symfony,file-upload,Symfony,File Upload,我在2.6上上传文件时遇到问题,在以前的版本中效果很好。我不知道问题出在哪里,没有错误,当我转储post对象时,我看到一个文件名,但images文件夹中没有文件 “我的图像”文件夹位于myproject/web/images中 使用SonataAdmin上传文件,同样没有错误 有人能指出我做错了什么或改变了什么吗? 编辑:仔细阅读这些文件夹后,我注意到它在/var/www/html中创建了另一个web/images文件夹 你知道这是怎么纠正的吗?我的项目文件夹位于/var/www/html/my

我在2.6上上传文件时遇到问题,在以前的版本中效果很好。我不知道问题出在哪里,没有错误,当我转储post对象时,我看到一个文件名,但images文件夹中没有文件

“我的图像”文件夹位于myproject/web/images中

使用SonataAdmin上传文件,同样没有错误

有人能指出我做错了什么或改变了什么吗?

编辑:仔细阅读这些文件夹后,我注意到它在/var/www/html中创建了另一个web/images文件夹

你知道这是怎么纠正的吗?我的项目文件夹位于/var/www/html/myproject中

尝试再添加2个/../../,但出现错误:
无法创建“/var/www/html/myproject/src/AppBundle/Entity/../../../../../../web/images/”目录
。并删除了2/../../,但仍然一无所获

使用以下命令调用twig中的文件:

{% for photo in photos %}
    <a href="{{ asset(['images/', photo.image]|join) }}">
        <img src="{{ asset(['images/', photo.image]|join) }}" width="400" height="600" alt=""/>
    </a>
{% endfor %}

用这个改变你的实体

而不是

public function getUploadDir()
{
    return 'images/';
}
替换这个

public function getUploadDir()
{
    return '/images';
}
您的实体路径是:

var/www/html/myproject/src/AppBundle/Entity/Post.php
以及您的
getUploadRootDir
方法:

public function getUploadRootDir()
{
    return __DIR__ . '/../../../../web/' . $this->getUploadDir();
}
它将返回四次,因为有4(../)将您带出源目录

使用此选项可解决此错误:

public function getUploadRootDir()
{
    return __DIR__ . '/../../../web/' . $this->getUploadDir(); 
}

myproject/web/images是否可写?你对它的许可是什么?是的。将所有者更改为www data:www data,权限为775。您是否可以尝试此操作,并告知我们其工作的公共函数getUploadDir(){return'images';//删除尾部斜杠(/)}是的,先生,您也尝试过此操作,但仍然没有结果。它仍然将文件上载到错误的目录
/var/www/html/web/images
而不是
/var/www/html/myproject/web/images
。尝试了此方法,但没有成功。甚至尝试保留/删除web上的尾随斜杠
'/../../../../../web'
,但仍然一无所获。它仍然会上载到
var/www/html/web/images
。您希望在哪个目录中上载图像中的文件?对吗?如果是,那么只需在web上载中再创建一个目录并替换。。。。公共函数getUploadDir(){return'Upload/images';}谢谢您的耐心和帮助。非常感谢。
public function getUploadRootDir()
{
    return __DIR__ . '/../../../web/' . $this->getUploadDir(); 
}