Разрешения на запись в XML из jquery, перетаскиваемых - PullRequest
0 голосов
/ 27 августа 2011

Из события остановки перетаскиваемого div я вызываю функцию php через ajax.Есть ошибки прав доступа, когда этот скрипт сохраняет XML.

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

Вызов ajax выполняется в div, созданном динамически, то есть div создается скриптом, а вызов для сохранения xml определяется следующим образом.

echo "  $('#".$node['ID']."').draggable({ stop: function(event, ui) { update_div('".$node['ID']."') } });\n";

Ajax-вызов выполняется следующим образом.

    function update_div(divid) {

        width= $('#'+divid).width();
        height=$('#'+divid).height();
        coord =$('#'+divid).position();
        dtop = coord.top;
        dleft = coord.left;
        name = "";

        /* alert ('Finished dragging! '+divid+' '+width+' '+height+' '+dtop+' '+dleft); */

       //define php info and make ajax call to update XML
       $.ajax({
           url: "make_update.php",
           type: "POST",
           data: { nodeid: divid, name: name, top: dtop, left: dleft, width: width, height: height },
           cache: false,
           success: function (response) {

               if (response != '') 
               {
                  alert(response);

               }
           }
       });
    }

<?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']));

?>

Данные извлекаются из файла XML.Проблема в разрешении сохранить файл.В другом месте я могу сохранить XML.Разница здесь в том, что скрипт вызывается с .draggable().Как определить разрешения для сохранения XML в этом сценарии?Разрешение на XML и каталог, в котором он находится, - чтение и запись.

1 Ответ

0 голосов
/ 27 августа 2011

Это связано с разрешениями папки / файла, определенными на сервере. Откройте свойства папки, в которой находится файл XML в Windows, и убедитесь, что ваш сервер может выполнять чтение / запись в эту папку.

...