【问题标题】:Download contents of the PHP generated page from another PHP script从另一个 PHP 脚本下载 PHP 生成页面的内容
【发布时间】:2010-10-25 15:42:28
【问题描述】:

我在服务器上有一个 PHP 脚本,它可以动态生成 XML 数据,比如使用 Content-Disposition:attachment 或简单的回显,没关系。我将此文件命名为 www.something.com/myOwnScript.php

在另一台服务器上,在另一个 PHP 脚本中,我希望能够将该文件(以避免“将文件保存到磁盘”)作为字符串(使用路径 www.something.com/myOwnScript.php)获取,然后进行操作脚本生成的 XML 数据。

如果不使用网络服务,这可能吗? 安全隐患?

谢谢

【问题讨论】:

    标签: php code-generation download content-disposition


    【解决方案1】:

    简单的回答,是的:

    $output = file_get_contents('http://www.something.com/myOwnScript.php');
    
    echo '<pre>';
    print_r($output);
    echo '</pre>';
    

    【讨论】:

      【解决方案2】:

      如果您想更好地控制请求数据的方式(欺骗标头、发送帖子字段等),您应该查看 cURL。 link text

      【讨论】:

      • curl 更灵活、更高效,但 file_get_contents() 更简单。就个人而言,我倾向于从 file_get_contents() 开始,直到 curl 的功能/性能变得必要。
      • cUrl 甚至允许 HTTP 认证,真的很有用(当然,只是在需要的时候)
      【解决方案3】:

      如果您在共享主机上,您可能会发现无法使用file_get_contents。这主要是因为它是允许您包含远程文件的相同权限集的一部分。总之……

      如果您遇到这种情况,您也许可以使用CURL

      <?php
              $ch = curl_init();
              curl_setopt($ch, CURLOPT_URL, "example.com");
              curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
              $output = curl_exec($ch);
              curl_close($ch);     
      ?>
      

      代码更多,但仍然很简单。您还可以通过高度可配置的浏览器发布数据、设置标题、cookies……任何您可以做的事情。这在人们试图阻止机器人时非常有用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-11
        • 1970-01-01
        • 2021-09-10
        • 2022-01-09
        • 2019-02-19
        • 1970-01-01
        相关资源
        最近更新 更多