2011-08-25 95 views
1

保存文件的服務器上的XML文件和文件夾是Windows Vista,IIS 7環境中的世界讀取寫入。調用asXML函數會返回此警告,並且文件不會更新。保存來自SimpleXMLElement的XML無法打開流錯誤

Warning: SimpleXMLElement::asXML(communities.xml) simpleelement.asxml failed to open stream: permission denied in c:\path\make_update.php. 

文件make_update.php更新XML中的節點。

<?php 

ini_set('display_errors', 1); 
error_reporting(E_ALL); 

function make_update($nodeid, $name, $top, $left, $width, $height) { 

$nodes = new SimpleXMLElement('communities.xml', null, true); 

$returnArray = $nodes->xpath("//COMMUNITY[@ID='$nodeid']"); 
$node = $returnArray[0]; 
$node->TOP = $top; 

$nodes->asXML('communities.xml'); 

return $node->TOP; 
} 

echo make_update(trim($_REQUEST['nodeid']),trim($_REQUEST['name']),trim($_REQUEST['top']),trim($_REQUEST['left']),trim($_REQUEST['width']),trim($_REQUEST['height'])); 

?> 

回答

0

除了要讀取的文件之外,還必須對包含XML文件的文件夾設置權限。所有者,系統,用戶,iisuser都這麼做了。

0

我有同樣的問題,我正在運行IIS 7與PHP 我'無法打開stram錯誤'whith SimpleXMLElement :: asXML。

我通過授予對「所有人」的寫入訪問權限解決了該問題。 此解決方案僅適用於內部威脅,因爲它存在風險。

user823527的解決方案沒有爲我炒作。

UPDATE:我通過授予寫入存取權限「IUSR」和「IIS_USRS」

+0

更新修復這個問題:我通過授予寫入存取權限「IUSR」和「IIS_USRS」固定的問題。 –