【问题标题】:Can I use PHP opendir() on a external URL? [duplicate]我可以在外部 URL 上使用 PHP opendir() 吗? [复制]
【发布时间】:2012-09-29 19:01:05
【问题描述】:

可能重复:
PHP - opendir on another server

类似这样的:

opendir(http://super.cdn.com/running_order_image/sale/587/)

opendir 用于检查 Rackspace Cloud Files Akamai 存储桶的内容。

我正在循环这样的结构

587/
587/587_rubyred
587/587_rubyred/front.jpg
587/587_rubyred/back.jpg

我正在尝试返回 587_rubyred 部分。基本上我的 MySQL 查询循环遍历 587 和 834 以及其他数字,然后我检查目录中的这些数字并返回第一个子文件夹。

【问题讨论】:

    标签: php rackspace opendir akamai


    【解决方案1】:

    如果您想连接到 rackspace 云文件,我建议使用位于 https://github.com/rackspace/php-cloudfiles 的 API

    $auth = new CF_Authentication('<RACKSPACELOGIN>','<RACKSPACEKEY>');
    $auth->authenticate();
    $conn = new CF_Connection($auth);
    $cloudFolder = $conn->get_container('<RACKSPACECONTAINER>');    
    $cloudImages = $cloudFolder->get_objects();
    
    foreach($cloudImages as $image)
    {
      echo '<li>' . $image->name . '</li>';
    }
    

    编辑:然后您将能够执行以下操作

    $cloudImages = $cloudFolder->get_objects(0,NULL,NULL,'587/587_rubyred');
    

    【讨论】:

      【解决方案2】:

      尝试在 PHP 中使用FTP。这将允许您远程连接到服务器。当然只有在允许通过 FTP 连接的情况下。

      【讨论】:

        【解决方案3】:

        你为什么不看规格?

        http://nl3.php.net/manual/en/function.opendir.php

        查看更新日志:

        4.3.0 路径也可以是任何支持目录列表的 URL,但是 PHP 4 中只有 file:// URL 包装器支持这一点

        所以这是否有效取决于您接近的服务器。我知道我的服务器不允许。 ;-)

        【讨论】:

          【解决方案4】:

          没有。 URL 中没有目录的概念。

          一个 URL 可能会映射到服务器文件系统上的一个目录,但该映射不会被 HTTP 公开。

          http://example/running_order_image/sale/587/ 可能会给您一个 HTML 文档,其中包含指向服务器目录中所有内容的链接,但您必须像访问任何其他资源一样访问它,然后解析 HTML 以获取这些资源的 URL。

          【讨论】:

            【解决方案5】:

            这是不可能的。大多数服务器都禁用了目录列表,并且不发送目录列表 opendir 用于本地目录。

            PHP - opendir on another server

            您可以通过 ftp 或其他方式访问。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2011-03-06
              • 2021-03-11
              • 2016-10-22
              • 2015-07-27
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2022-12-11
              相关资源
              最近更新 更多