2012-09-14 17 views
5

किसी के पास इस पर कोई विचार है? मैं file_exists() और is_writable() के साथ फ़ाइल की जांच करता हूं, जिनमें से दोनों सत्य लौटते हैं।फ़ाइल में नहीं लिखा जा सकता है, भले ही is_writable सही रिटर्न

$filePath = dirname(__FILE__) . '/' . 'myfile.txt'; 
file_put_contents($filePath, "waffles are delicious"); 
+0

क्या वे त्रुटि संदेश में परिणाम देते हैं? –

+0

@ IgnacioVazquez-Abrams कोई त्रुटि संदेश नहीं: -/ – JoeCortopassi

+3

'file_put_contents()' –

उत्तर

1

आपने फ़ाइल की अनुमतियों की जांच की है लेकिन स्वामित्व पर भी एक नज़र डालें।

मैंने अक्सर उन मुद्दों को देखा है जहां मूल प्रणाली से यूआईडी/ग्रिड के साथ अभिलेखागार से फ़ाइलों को अनपॅक किया गया है। यह आम तौर पर तब होता है जब आपने एफ़टीपी के माध्यम से सभी फाइलों को अपलोड करने के इंतजार के बजाय एक फ्रेम, सीएमएस या फोरम के ज़िप या tar.gz स्थापना संग्रह को अपलोड और अनपॅक किया है।

फ़ाइल स्वामी को बदलने के लिए आपको शेल में chown कमांड को अपने खाते के उपयोगकर्ता नाम/समूह में बदलने की आवश्यकता होगी। ऐसा करने के लिए आपको शायद रूट/सु होने की आवश्यकता होगी।

chown -R username:groupname *

-R यह पुनरावर्ती एक सभी सबडायरेक्टरियों में सभी फाइलों पर लागू होता है बनाता है।

0
: मैं 777 के लिए निर्देशिका और फाइल के रूप में अच्छी तरह से सेट सुरक्षा के लिए, लेकिन fwrite() या file_put_contents कोशिश कर() दोनों फ़ाइल

यहाँ में कोई परिवर्तन में परिणाम प्रासंगिक कोड है

यह सुनिश्चित करने के लिए बंद करने वाले PHP टैग को हटाने का प्रयास करें कि यह एक व्हाइटस्पेस समस्या नहीं है।