кароче я не заморачивался, и код не тестировал, но этого вполне хватит, чтобы понять как это сделать.
отправляем запрос на сервер методом GET, в параметре указываем значение переменной, в ответ получаем XML с каким нибудь статусом, чтобы удостовериться, что операция прошла успешно.

Код AS3:
public function sendVar(myVar:String):void{
var req:URLRequest = new URLRequest("http://mydomain.com/myscript.php");
var variables:URLVariables = new URLVariables();
variables['my_var'] = myVar;
req.data = variables;
var urlloader:URLLoader = new URLLoader();
urlloader.dataFormat = URLLoaderDataFormat.TEXT;
urlloader.addEventListener(Event.COMPLETE, answerReady);
urlloader.load(req);
}
private function answerReady(e:Event){
var loader:URLLoader = URLLoader(e.target.content);
try{
var data:XML = new XML(loader.data);
}catch(e:TypeError){
trace(e.message);
}
if(data){
trace(data);
}
}
На стороне сервера в упрощенном виде код примерно такой:

PHP код:
<?
if(isset($_GET['my_var'])){
$msg = "my_var = ".$_GET['my_var'];
file_put_contents($_SERVER['DOCUMENT_ROOT']."/test.txt", $msg);
header("Content-type=text/xml; charset=utf-8");
$xml = "<?xml version='1.0' encoding='utf-8'?>\r\n";
$xml .= "<response>\r\n";
$xml .= "<status>OK</status>\r\n";
$xml .= "</response>";
echo $xml;
}
?>
Ну естественно, надо слушать так же ошибки, на серваке должны быть права на запись и т.д. и т.п. Дальше сами разберетесь