1
我繼承了一段突然停止工作的代碼。我將代碼隔離到它看起來這個函數不再讀取該目錄並找到它中找到的xml文件供以後處理。我已經上傳了帶有大小寫.xml/.XML擴展名的xml文件的版本,結果相同:NO XML FILE FOUNDPHP readdir找到xml
我已驗證print_r實際上正在讀取xml文件所在的正確目錄駐留。目錄中還有其他文件,但多年來一直如此。最近在PHP中做了些什麼改變來阻止這些代碼的工作?
function GetXMLFile($path) {
$path .= "/";
print_r($path);
$filename = "";
if ($handle = opendir($path)) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
if (GetFileExtention($path . strtolower($file)) =="XML") {
$filename = $file;
}
}
}
closedir($handle);
}
return $filename;
}
在後面的代碼中調用的功能是產生NO XML錯誤。我已經確認下面的$ config ['xml_dir']變量與上面的print_r目錄位置匹配。
$cur_xml_file = GetXMLFile($config['xml_dir']);
if ($cur_xml_file == "") {
echo "NO XML FILE FOUND";
exit(0);
}
「GetFileExtention」返回什麼?你確定它返回XML而不是'xml'嗎? –
有一個'GetFileExtention()'函數是可疑的,該函數需要一個全小寫的文件名並返回一個大寫的擴展名。不管怎樣,即使你不懂代碼或者安裝了調試器,你也應該可以用簡單的'var_dump()'語句來追蹤事物的內容。 –