2012-03-31 11 views
9

मेरे फ़ोल्डर संरचना की तरह है - "पृष्ठों" फ़ोल्डर में एक नया php फ़ाइल बनाने के लिएphp के साथ एक और निर्देशिका में फाइल बनाने

root 
    admin 
    create_page.php 
    pages 
    my_page1.php 
    my_page2.php 

मैं कोड है। कोड की तरह है -

$dir_path = "../pages/"; 
$ourFileName = '../'.$page_name.".txt"; 
$ourFileHandle = fopen($ourFileName, 'w') or die("can't open file"); 
$ourFileContent = '<?php echo "something..." ?>'; 
if (fwrite($ourFileHandle, $ourFileContent) === FALSE) { 
    echo "Cannot write to file ($filename)"; 
    exit; 
} 

कोड सामान्य रूप से निष्पादित करता है .. कोई समस्या नहीं। लेकिन पृष्ठ नहीं बनाया जा रहा है। कृपया मुझे बताएं कि मैं क्या गलत कर रहा हूं। क्या पथ में समस्या है? fclose ($ ourFileHandle);

+0

आपने '$ dir_path' सेट किया है, लेकिन आप इसका उपयोग नहीं कर रहे हैं। यह भी सुनिश्चित नहीं है कि आप रिश्तेदार लिंक का उपयोग कर सकते हैं, तो आप पूर्ण पथ का उपयोग करना चाहेंगे। सुनिश्चित करें कि आपने मानचित्र लेखन पर लिखने की अनुमतियां सेट की हैं। – ArendE

+0

'$ पृष्ठ_नाम' सेट नहीं है और आपने यह लिखा है कि कौन सी फ़ाइल – safarov

+0

है जहां आप' $ page_name' सेट करते हैं, तो भी आपके पास इस पंक्ति पर एक वाक्यविन्यास त्रुटि है न भूलें समापन अर्ध-कॉलन –

उत्तर

18

यहाँ fopen, fwrite के लिए और अधिक सरल file_put_contents() आवरण का उपयोग कर एक उदाहरण है, fclose

<?php 
error_reporting(E_ALL); 

$pagename = 'my_page1'; 

$newFileName = './pages/'.$pagename.".php"; 
$newFileContent = '<?php echo "something..."; ?>'; 

if (file_put_contents($newFileName, $newFileContent) !== false) { 
    echo "File created (" . basename($newFileName) . ")"; 
} else { 
    echo "Cannot create file (" . basename($newFileName) . ")"; 
} 
?> 
1

क्या आप जानबूझकर $ dir_path और $FileName को संगत करने पर चूक गए हैं;

अब

  1. अपने निर्देशिका/फ़ाइल writable है?
  2. अपने current working directory
  3. के लिए जांचें आपकी त्रुटि_ रिपोर्टिंग है?
6
$ourFileHandle = fopen("../pages/" .$ourFileName, 'w') or die("can't open file"); 

तीसरी लाइन के लिए ऊपर परिवर्तन करें और यह शायद काम करेगी; मैंने इसे आजमाया और यह काम आया।

+0

मेरे लिए काम करता है धन्यवाद –

0

, अलग अनुमति वाले इस

$pagename = 'your_filename'; 
$newFileName = '../pages/'.$pagename.".php"; 
+0

हालांकि यह कोड प्रश्न का उत्तर दे सकता है, इस सवाल का जवाब दे सकता है कि इस कोड का जवाब क्यों और/या कैसे सुधारता है दीर्घकालिक मूल्य। – NathanOliver

1

था एक ही समस्या का प्रयास करें, फ़ाइल फ़ोल्डर में नहीं बनाया जाएगा यकीन है कि फ़ोल्डर की अनुमतियाँ अन्य फ़ाइलें एक ही है।

+0

आप सही थे! मैंने फ़ोल्डर की अनुमतियों को बदल दिया है कि मैं इसमें chmod 777 के साथ फाइलें बनाना चाहता था, और फॉपेन ने फ़ाइल को ठीक से बनाया था। – MaryamH

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