2012-10-09 56 views
2

可能重複:
PHP - opendir on another server我可以在外部URL上使用PHP opendir()嗎?

事情是這樣的:

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

opendir被用來檢查Rackspace的雲文件的Akamai桶的內容。

我通過一個結構類似這樣的

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

循環我試圖返回587_rubyred部分。基本上我的MySQL查詢遍歷587和834以及其他數字,然後檢查目錄中的這些數字並返回第一個子文件夾。

回答

2

如果你想連接到Rackspace公司的雲文件,我建議使用位於https://github.com/rackspace/php-cloudfiles

$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>'; 
} 

編輯API:然後你就可以執行以下

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

不。目錄中沒有URL的概念。

URL可能會映射到服務器文件系統上的目錄,但該映射不會由HTTP公開。

http://example/running_order_image/sale/587/可能給你的服務器上的目錄鏈接,一切HTML文檔,但你必須訪問它像任何其他資源,然後解析HTML得到的URL這些資源。

0

你爲什麼不看規格?

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

下看的changelog:

4.3.0路徑,也可以支持目錄列表的任何URL,但只有文件:// URL封裝支持這個在PHP 4

所以如果這個工作取決於你接近的服務器。我知道我的服務器不會允許它。 ;-)

0

嘗試在PHP中使用FTP。這將允許您遠程連接到服務器。當然只有當它被允許通過FTP連接。

相關問題