我通過php的ftp連接連接到另一臺服務器。通過php ftp遠程遞歸搜索目錄
不過,我需要能夠提取所有HTML文件從它的Web根目錄,這是造成我有點頭疼......
我發現這個職位Recursive File Search (PHP)其中談到使用RecursiveDirectoryIterator
功能然而,這是與自己的php腳本位於同一服務器上的目錄。
我已經受夠了寫我自己的功能,但不知道我有去是正確的......假設發送到方法的原始路徑是服務器的文檔根:
public function ftp_dir_loop($path){
$ftpContents = ftp_nlist($this->ftp_connection, $path);
//loop through the ftpContents
for($i=0 ; $i < count($ftpContents) ; ++$i)
{
$path_parts = pathinfo($ftpContents[$i]);
if(in_array($path_parts['extension'], $this->accepted_file_types){
//call the cms finder on this file
$this->html_file_paths[] = $path.'/'.$ftpContents[$i];
} elseif(empty($path_parts['extension'])) {
//run the directory method
$this->ftp_dir_loop($path.'/'.$ftpContents[$i]);
}
}
}
}
有沒有人看過預製課程來做類似的事情?
這應該這樣做,雖然NLIST()返回false像路徑錯誤,無法找到或者是一個文件,你應該檢查這一點。 –
順便說一句,也許更可靠的方法來檢測目錄是通過使用「-al $路徑」作爲第二個參數到ftp_nlist()。 –