2017-02-09 11 views
1

из facebook chat У меня есть запрос, и этот запрос изменит некоторую информацию в XML-файле (кодирование на php). Треска следующая:Как можно защитить транзакции чтения/записи с XML-файлом в php

$participants = simplexml_load_file($fname); 
//change,add,delete nodes 
$participants->asXML($fname); 

Например, если запрос 1 и 2 будет читать один и тот же XML-файл с simplexml_load_file в один момент, и после запроса 1 поместит информацию в нем, то следующий запрос будет стереть с его письменной форме информацию предыдущего запроса. Можно ли это как-то справиться? Например, как транзакции в базах данных?

+0

Пробовал уровень CHMOD? –

+0

нет, но будет ли файл simplexml_load_ ждать, пока xml будет доступен? –

+0

На сервере вы должны сделать 'umask (0377);' в файл xml, который запретит пользователю писать внутри файла. U хочу, чтобы я объяснил немного больше? –

ответ

1

Вы должны установить разрешение файла в файл, чтобы предотвратить его от записи

$permission = chmod ("/yourdir/yourfile.txt", 0600);

// Read and write for owner, nothing for everybody else

Примечание:

Вы должны дать точный путь к файлу из корневой папки что вы можете искать.

Here являются больше прав доступа к файлам