2013-09-23 4 views
9

मेरे पास एक परिदृश्य है जिसमें मैं सिस्टम में बदलावों को संकलित करने के लिए मौजूदा वर्ग का पुन: उपयोग करना चाहता हूं। मौजूदा पुस्तकालय एक फ़ाइल सूचक लेते हैं जो बाद के उपयोग के लिए परिवर्तनों को संग्रहीत करेगा। वर्तमान परिदृश्य में उन गणनाओं को निष्पादित करना और फिर उत्पादन को तुरंत आउटपुट करना शामिल है।php: // temp उत्पादन के लिए सुरक्षित है?

क्या पर्यावरण में php: // temp या php: // मेमोरी संसाधनों का उपयोग करना सुरक्षित होगा जहां यह संभव है कि दो अलग-अलग उपयोगकर्ता एक ही समय में इस विधि को चलाएंगे?

छद्म कोड:

$fp = fopen('php://temp','w+'); 
Lib::getUpdates($fp, $user_id); 
rewind($fp); 
$changes = stream_get_contents($fp); 

मैं आसपास googling किया गया है और कुछ बेचैन परिणाम लेकिन कुछ भी अस्थायी या स्मृति धाराओं उपयोग के बारे में वास्तव में निश्चित मिल गया है।

तो सवाल यह है कि, क्या मुझे बस तोड़ना चाहिए और एक अस्थायी फ़ाइल का उपयोग करना चाहिए जो गारंटी देगा कि यह कोई समस्या नहीं है? यदि संभव हो तो मैं डिस्क पर लेखन से बचना चाहूंगा। दूसरी संभावना कक्षा को बदलने के लिए है ताकि यह परिणामों को एक स्ट्रिंग में आउटपुट कर सके, लेकिन यदि संभव हो तो मैं इससे बचना चाहूंगा।

EDIT

Sammitch के अनुसार, यह ठीक है। नीचे टिप्पणियां देखें।

+5

'php: // temp' और' php: // memory' अद्वितीय प्रति-प्रक्रिया हैं। आपको एक ही समय में एक ही स्मृति का उपयोग करने की कोशिश करने वाली दो प्रक्रियाओं की चिंता करने की आवश्यकता नहीं है। – Sammitch

+0

बहुत बढ़िया। धन्यवाद। – Rhinosaurus

+0

मुझे लगता है कि 'php: // temp' कुछ स्थितियों में पारदर्शी रूप से एक अस्थायी फ़ाइल का उपयोग करेगा – Izkata

उत्तर

8

php://temp और php://memory अद्वितीय प्रति-प्रक्रिया हैं। आपको एक ही समय में एक ही स्मृति का उपयोग करने की कोशिश करने वाली दो प्रक्रियाओं की चिंता करने की आवश्यकता नहीं है।

संबंधित मुद्दे