2012-06-05 7 views
5

का उपयोग करके फ़ाइल में कैसे संलग्न करें I PHP के साथ ob_start का उपयोग करते हुए फ़ाइल में "संलग्न" करना संभव है या नहीं, यह देखने के लिए मैंने अभी कुछ समय देखा है।ob_start

मैंने निम्नलिखित कोशिश की है लेकिन काम नहीं किया है। इसे प्राप्त करने का कोई तरीका?

<?php 

$cacheFile = 'file.txt'; 

if ((file_exists($cacheFile)) && ((fileatime($cacheFile) + 600) > time())) 
{ 
$content = file_get_contents($cacheFile); 
echo $content; 
} else 
{ 
ob_start(); 
// write content 
echo '<h1>Hello world</h1>'; 
$content = ob_get_contents(); 
ob_end_clean(); 
file_put_contents($cacheFile,$content,'a+'); // I added the a+ 
echo $content; 
} 
?> 

मैंने ऊपर दिए गए उदाहरण को एसओ पर एक और पोस्ट से उधार लिया।

उत्तर

4

file_put_contents इस तरह से काम नहीं करता है। संलग्न करने के लिए, आपको fopen, fwrite और fclose मैन्युअल रूप से उपयोग करने की आवश्यकता है।

$file = fopen($cacheFile, 'a+'); 
fwrite($file, $content); 
fclose($file); 
+1

'file_put_contents' वास्तव में फ़ाइल संलग्न करने का समर्थन करता है :) –

+0

@ जैक: वास्तव में यह नहीं पता था :-P अब मैं करता हूं! मैं इसे वैसे भी छोड़ दूंगा। –

+0

धन्यवाद रॉकेट, खूबसूरती से काम किया। चीयर्स ~ –

6

file_put_contents() का उपयोग कर संलग्न करने के लिए आप बस तीसरा तर्क के रूप में FILE_APPEND पारित कर सकते हैं:

file_put_contents($cacheFile, $content, FILE_APPEND); 

यह भी द्विआधारी OR ऑपरेटर का उपयोग कर ताला लगा फ़ाइल लागू करने के लिए इस्तेमाल किया जा सकता है, उदा FILE_APPEND | LOCK_EX

+1

धन्यवाद जैक, आपका भी काम करता है। चीयर्स ~ –

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