Отслеживание загрузки файлов - PullRequest
1 голос
/ 18 января 2012

Я хочу создать область в symfony2, где у меня есть список файлов, которые пользователи могут загрузить.

Я хочу иметь возможность отслеживать, сколько раз был загружен каждый файл.

Может кто-нибудь пролить свет на то, как мне этого добиться?

Ответы [ 2 ]

1 голос
/ 18 января 2012

Простым способом в вашем списке файлов вы должны указать URL вашего контроллера, который будет подсчитывать количество загрузок и затем печатать прямую ссылку на файл.

{# list of files in template %}
{% for file in files %}
    <a href="{% path('counting', {'id': file.id}) %}">{{ file.name }}</a>
{% endfor %}

// Controller
/**
 * Counting the number of file downloads
 *
 * @Route("/counting/{id}", name="counting", requirements={"id" = "\d+"})
 * @Template()
 */
public function countingAction($id)
{
    $em = $this->getDoctrine()->getEntityManager();
    $file = $em->getRepository('MyBundle:File')->find($id);

    $count = $file->getCount();
    $file->setCount($count + 1);

    $em->persist($entity);
    $em->flush();

    return array('file' => $file);
}

{# final file page in template #}
<a href="{{ file.url }}">{{ file.name }}</a>
0 голосов
/ 18 января 2012

Использовать Doctrine Entity - некоторые сведения приведены в этой статье " Как обработать загрузку файлов "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...