Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.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
在html.twig中导入PHP文件_Php_Symfony_Twig_Bundle_Uploadifive - Fatal编程技术网

在html.twig中导入PHP文件

在html.twig中导入PHP文件,php,symfony,twig,bundle,uploadifive,Php,Symfony,Twig,Bundle,Uploadifive,我正在用Symfony2构建一个webapp,我很难将php文件导入到我的代码中。我只是在使用php文件时遇到了404-notfound错误。简而言之,我正在将Uploadifive文件上传器实现到我的应用程序中,通过将js和css包含在我的base.html.twig中,我在应用程序的不同页面上扩展了它们,从而正确加载了它们 uploadifive.php文件与css和js文件位于同一文件夹中,但我似乎无法在代码中正确获取它的路径。我确信我在这里遗漏了一些非常简单的东西,但我无法修复它: up

我正在用Symfony2构建一个webapp,我很难将php文件导入到我的代码中。我只是在使用php文件时遇到了404-notfound错误。简而言之,我正在将Uploadifive文件上传器实现到我的应用程序中,通过将js和css包含在我的base.html.twig中,我在应用程序的不同页面上扩展了它们,从而正确加载了它们

uploadifive.php文件与css和js文件位于同一文件夹中,但我似乎无法在代码中正确获取它的路径。我确信我在这里遗漏了一些非常简单的东西,但我无法修复它:

upload.html.twig

这些文件位于/app/Resources/uploadifive/


有人能帮我吗?

我想问题在于如何引用php文件。您只能引用可公开访问的文件,并且所有文件都位于symfony的web文件夹中。它们主要是资产或上传的文件。所以,检查你的网页文件夹,我打赌你在那里找不到任何php文件


在这种情况下,它不应该是可通过web访问的。您必须使用上传逻辑创建一个控制器,并创建一个路由来为该控制器服务。因此,假设您在路由中定义了/myuploader,由您的控制器提供服务。如果你想在你的小枝文件中使用路由id,并且symfony已经知道它在哪里,你基本上可以使用“/myuploader”或{path'myuploader'}}。

浏览器应该如何知道“%kernel.root\u dir%”在哪里?如果uploadifive.php是路由中定义的路径,你可以使用{path'path\u to\u uploadifive.php}或者您可以将%kernel.root_dir%更改为{{app.kernekl.root_dir}
{% block content %}

    <input id="file_upload" type="file" name="file_upload" /> // This works

    <script type="text/javascript">
        $(function() {
            $('#file_upload').uploadifive({
                'uploadScript' : '%kernel.root_dir%/Resources/uploadifive/uploadifive.php'  // THIS DOES NOT WORK, 404's
                // Put your options here
            });
        });
    </script>

{% endblock %}