我最近進入了使用node.js擴展我的網站,並已實現我需要一個會話處理程序爲我的PHP會話。現在一切都變得很酷並且很花哨,node.js讀取了php會話,並且可以將它自己的會話傳播給php。我正在使用數據庫會話,因此會話數據被保存到數據庫中的一個字段中。使用Javascript解析PHP會話
但是我發現了一個小問題。我正在嘗試將會話數據讀入node.js,它確實是一個很奇怪的字符串。我已經能夠獲取每個會話變量的strucutre到:
'field_name'|'type':'length':'value';
現在對某些字符串值字段可缺少其他字符串的長度可能會缺失(當變量爲空)。該類型也可以比b,s,i多;它也可以是N(NULL)。
我原本以爲一個JS的巨大翻譯,但這只是某種程度上似乎是一個非常錯誤的方式來做到這一點。
有沒有人試圖在JS中提取php會話變量之前,有沒有什麼樣的腳本可以幫助?也許有一個格式化的東西,我可以在PHP方面使用,使我的生活在node.js更容易嗎?
編輯:架構的樣子:
{ _id: { id: 'L:\u00c1\u009d\u008e\u00ad\u000e}<\u0002\u0000\u0000' }
, session_id: 'a2clfnjhopv1srs5k5elgbfjv5'
, user_id: 0
, session_data: 'logged|b:0;uid|i:0;server_key|N;AUTH_TIER2|b:0;email|s:0:"";cheese|s:6:"cheese";'
, active: 1
, expires: 1278920567
}
這是一個用戶會話蒙戈DB記錄。需要翻譯的字段是session_data。當粘貼它時,會出現某種格式錯誤,因爲當我嘗試將其作爲代碼使用時,由於stackoverflow不會將其格式化爲代碼。
我試圖JSONfy前場,但它失去了它的類型和沒有讀空條目等,所以我停止的
感謝,
我還沒有和node.js中工作過。在將它傳遞給node.js之前,是否可以[PHP] _php.net/manual/en/function.json-encode.php PHP中的非序列化會話數據? – Gordon 2010-07-12 08:11:51
你可以顯示一個例子而不是模式嗎?缺少什麼東西時它看起來如何? – galambalazs 2010-07-12 08:37:05
我添加了模式,雖然正如我所說的那樣粘貼它時存在某種錯誤,並且stackoverflow不會將數據格式化爲代碼:(。galam,因爲我也在編輯中聲明我嘗試過JSON,但它似乎打破了字符串使得它不可能檢索會話數據:(。也許有一些東西在那,但是,如果我做一個節點字段並將會話數據複製到一個json字符串中...併爲該字段創建一個dejsonifier .... hmmmm可以工作 – Sammaye 2010-07-12 09:10:24