2

可能重复:
PHP - 另一台服务器上的 opendir

像这样的东西:

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 以及其他数字,然后我检查目录中的这些数字并返回第一个子文件夹。

4

5 回答 5

3

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

PHP - 另一台服务器上的 opendir

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

于 2012-10-09T12:36:46.313 回答
2

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

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

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

于 2012-10-09T12:36:58.080 回答
2

如果您想连接到 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');
于 2012-10-09T12:46:29.020 回答
0

为什么不看规格?

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

查看更新日志:

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

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

于 2012-10-09T12:38:02.673 回答
0

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

于 2012-10-09T12:40:24.823 回答