从文件中回送php代码而不实际执行它

时间:2014-11-26 14:28:41

标签: php laravel

我们正在尝试在laravel中创建一个网页,人们可以将他们的代码文件上传到我们的服务器,以便其他用户可以观看代码并在代码文件中下载它们。然而,我们无法找到实现这一目标的最佳方法。

我试图让php获取文件并回显内容。这很好用于html和css,但是用php没有显示出什么如此。有人提到使用eval(),但我已经读到这样做是一个非常糟糕的主意。另一个想法是将代码存储在数据库中并从那里获取它,我们之前已经尝试过,但它有点复杂,并且避免这样做会优先,而是直接转到i文件。

所以我的问题是,对于我们和我们的服务器以及用户来说,是否有任何人可以安全地工作。

2 个答案:

答案 0 :(得分:2)

这样的事情:

<?php
   // read Codefile
   $TheCode = file_get_contents($codefile);

   // Print it...
   echo htmlentities($TheCode);
?>

答案 1 :(得分:1)

  1. 将php代码保存在平面文件中,例如扩展名为.dat的文件。

  2. 然后阅读文件。

    $toechp = file(static.dat);
    echo $toecho;
    
  3. 您可以使用标题在浏览器上下载.dat文件。

    <?php
    $file = "http://example.com/static.dat"; 
    
    header("Content-Description: File Transfer"); 
    header("Content-Type: application/octet-stream"); 
    header("Content-Disposition: attachment; filename=\"$file\""); 
    
    readfile ($file); 
    ?>
    
  4. 你已经完成了。