【问题标题】:file doesnt exists in routes Http directory laravel 5文件在路由Http目录laravel 5中不存在
【发布时间】:2016-07-22 06:09:18
【问题描述】:

我在 'routes.php' 旁边有一个 python 脚本,我想从 'routes.php' 文件中执行它。 当我使用 exec() 函数时,它无法正常工作。 所以,我试试file_exists()

Route::get('/py', function(){
    if (file_exists( "new.py" ))
        echo "succeed";
    else
        echo "failed";
});

它只返回失败,那么如何通过 exec 函数从 .py 文件中获取输出?

【问题讨论】:

  • new.py 的路径是什么?

标签: php python laravel laravel-5 routing


【解决方案1】:

需要用绝对路径,试试用

 file_exists(__DIR__.'/new.py')

假设和routes.php在同一目录

【讨论】:

  • 是的,我确实在 routes.php 旁边阅读过,因为它位于同一个文件夹中。如果不是,使用__DIR__ 以已知起点构建通向它的路径仍然更容易
  • 谢谢,成功了,另一个问题,例如如果我的文件在views文件夹中怎么办?
  • 要进入views文件夹,你需要进入文件夹,然后包含views的路径。 file_exists(__DIR__.'/../../resources/views/new.py') __DIR__ 是您从中运行代码的文件的目录,因此您可以像在命令行中一样使用它构建任何文件的路径
  • 再次感谢您,请原谅我的另一个问题,我正在尝试在我的 py 文件中打印一个值,如何获得该输出并在 php 中显示?
  • 您需要向 exec 发送一个额外的参数,该参数将填充您的 py 文件 php.net/manual/en/function.exec.php 中的任何结果
【解决方案2】:

您提供的文件路径不正确。 file_exists() 将检查 laravel 中 public 文件夹中的文件。如果您将 py 放置在您的 public 文件夹中,请提供文件的确切路径。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-11
    • 2015-05-14
    • 2015-06-01
    • 1970-01-01
    • 2015-05-23
    • 1970-01-01
    • 2015-08-15
    相关资源
    最近更新 更多