2015-07-10 84 views
0

我試圖使用PHP做幾件事情的子文件夾運行兩個PHP腳本: 我有一個2650下的子文件夾...是啊,很多的文件夾。 目前,我有2個腳本處理上的每個子文件夾的XML,但我必須手動進入每個文件夾中,XML複製到wwwfolder,運行每兩個腳本(本地主機/ script1.php和本地主機/ script2.php)文件夾... 有沒有辦法在所有子文件夾上運行這兩個腳本? 這是文件夾的結構:使用WAMP和Apache

C:\wamp\www\Games\Game1\Meta-inf\details.xml 
C:\wamp\www\Games\Game2\Meta-inf\details.xml 
C:\wamp\www\Games\Game3\Meta-inf\details.xml 

我想運行一個腳本,讓我們把它叫做runner.php是執行以下操作:

http://localhost/runner.php 
cd Games 
cd Game-1 
cd Meta-inf 
RUN script1.php 
RUN script2.php 
cd .. 
cd .. 
cd Game-2 
cd Meta-inf 
RUN script1.php 
RUN script2.php 
. 
. 
. 
cd Game-2650 
cd Meta-inf 
RUN script1.php 
RUN script2.php 

EXIT foreach 
Exit php 

這裏的問題是我不知道如何製作一個進入Gamex/Meta-inf /並處理xml的新腳本。 這兩個腳本中的每一個都會創建一個新的文件(1個excel和1個txt),這些文件應該在/ Game/Gamex /文件夾中創建...應該在每個腳本上修改它們嗎?

非常感謝!如果包裝現有的代碼對你的處理文件中的​​3210功能會做你需要什麼

foreach(glob('FULL-PATH-TO/Gamex/Meta-inf/*') as $folder) { 

    // process each folder in here... 

} 

+1

你見過'glob'嗎?你可以傳遞一個'/ Game - */Meta-inf'的模式,並獲得一個可以循環的所有目錄的數組。 –

回答

1

感謝petebolduc和湯姆·哈特,我能弄明白。 我會離開這裏的完整代碼(我用於測試目的的回聲......)

THANK YOU SO MUCH !!!!!

<?php 
foreach(glob("C:\\Users\\Usuario\\Desktop\\Nuevos_Juegos\\SM\\*\\META-INF\\") as $folder) 
{ 
    $xml = simplexml_load_file("$folder\\details.xml"); 
    $result = $xml->xpath('//name'); 
    foreach ($result as $node) 
    { 
     if (($node['lang'] == 'en') ) 
     { 
      echo "$node" . "<br>"; 
     } 

    } 
} 
?> 
+0

你很受歡迎:-) – petebolduc