2012-10-09 2 views
2

Possible en double:
PHP - opendir on another serverPuis-je utiliser PHP opendir() sur une URL externe?

Quelque chose comme ceci:

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

Le opendir est utilisé pour vérifier le contenu d'un seau Fichiers nuage Rackspace Akamai.

Je Boucler dans une structure comme celle-

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

Je suis en train de retourner la partie 587_rubyred. Fondamentalement, ma requête MySQL boucles à travers le 587 et 834 et d'autres numéros, je vérifie ensuite le répertoire pour ces chiffres et retourne le premier sous-dossier.

Répondre

2

Si vous souhaitez vous connecter aux fichiers nuage de Rackspace, je suggère d'utiliser l'API situé à 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>'; 
} 

edit: vous serez alors en mesure d'effectuer les opérations suivantes

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

Ceci n'est pas possible. La liste de répertoires est désactivée pour la plupart des serveurs et n'envoie pas de liste de répertoires. Opendir est pour les répertoires locaux.

PHP - opendir on another server

Vous pouvez accéder à plus de ftp ou autre chose.

+0

Merci pour vos commentaires – TheBlackBenzKid

2

Non. Il n'y a pas de concept de répertoire dans les URL.

Une URL peut correspondre à un répertoire du système de fichiers du serveur, mais ce mappage n'est pas exposé par HTTP.

http://example/running_order_image/sale/587/ peut vous donner un document HTML avec des liens vers tout dans un répertoire sur le serveur, mais vous devrez y accéder comme toute autre ressource, puis analyser le code HTML pour obtenir les URL de ces ressources.

0

Pourquoi ne pas regarder dans les spécifications?

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

Regardez sous changelog:

chemin 4.3.0 peut aussi être une URL qui prend en charge la liste des répertoires, mais seul le fichier: // enveloppe URL supporte ceci en PHP 4

donc Si cela fonctionne, cela dépend du serveur que vous approchez. Je sais que mes serveurs ne le permettent pas. ;-)

0

Essayez d'utiliser FTP en PHP. Cela vous permettra de vous connecter à distance au serveur. Bien sûr seulement s'il est autorisé à se connecter via FTP.