2015-04-01 1 views
0

je ne vais pas lister un ensemble de fichiers dans un répertoire et les fichiers dans son sous-répertoire en utilisant une boucle plutôt que la fonction comme im obtenir les informations sur le répertoire via un webdav xml et php natif fonctions sont infertiles donc s'il vous plaît comprendre la question n'a pas encore été déposé ici $ urlloc est utilisé pour enlever le même répertoire d'être en boucle à nouveauPHP pour la liste de répertoire

foreach ($xml as $key) { 
if(empty($key->propstat->prop->resourcetype[0])){ 
    echo $key->href."<br/>";//files are printed, for debugging perposes im printing it 
}else{ 
    $Nurlloc=$key->href; 
    if ($Nurlloc!=$urlloc){ 
     echo "<b>".$Nurlloc."</b><br/>";//directorys printed in bold for debugging 
     $urlloc=$Nurlloc; 
     //gtndirdown() 

ci-dessus est la méthode im à connaître si son répertoire ou pas NOTE je veux être en mesure de faire cette boucle de code à travers et me faire tous les fichiers dans le répertoire i affichera également le tableau de fichiers im obtenir

[response] => Array 
    (
     [0] => SimpleXMLElement Object 
      (
       [href] => /dav/product_images/ 
       [propstat] => SimpleXMLElement Object 
        (
         [prop] => SimpleXMLElement Object 
          (
           [resourcetype] => SimpleXMLElement Object 
            (
             [0] => SimpleXMLElement Object 
              (
              ) 

            ) 

           [quota-used-bytes] => 2147483647 
           [quota-available-bytes] => 2147483647 
          ) 

         [status] => HTTP/1.1 200 OK 
        ) 

      ) 

     [1] => SimpleXMLElement Object 
      (
       [href] => /dav/product_images/a/ 
       [propstat] => SimpleXMLElement Object 
        (
         [prop] => SimpleXMLElement Object 
          (
           [resourcetype] => SimpleXMLElement Object 
            (
             [0] => SimpleXMLElement Object 
              (
              ) 

            ) 

           [quota-used-bytes] => 2147483647 
           [quota-available-bytes] => 2147483647 
          ) 

         [status] => HTTP/1.1 200 OK 
        ) 

      ) 

iv été coincé dans cette question pendant 4 jours et i ont voudrait si quelqu'un pourrait venir avec une logique pour cette question

Répondre

0

peut-être c'est une idée que vous pouvez mettre en œuvre dans votre logique

// the name of directory 
$dir='path_to_your_directory'; 

$files = array_slice(scandir($dir), 2); 
print_r($files); 
+0

les fichiers se trouvent dans un serveur distant mon ami et seule façon de l'analyse du répertoire est par webdav et son format xml stupide je devais le regex, puis le convertir en un tableau pour une utilisation dans php im près de 100% fait avec ce maintenant il n'y a pas d'accès ftp et je ne peux pas mettre un fichier dans le serveur éther je déteste ce format stupide et il n'y a pas d'autre alternative son comme un goulot d'étranglement avec une seule réponse annd je ne sais pas ce – Buddhi741

+0

autre conseils, si vous aimez Array, utilisez alors cette solution facile à convertir XML en tableau $ xml = json_decode (json_encode ($ xml), TRUE) – user789456

+0

c'est exactement ce que je l'ai fait :) – Buddhi741