2012-08-09 8 views
23

मेरे पास एक नेविगेशन बार, एक छवि है, और एक शीर्षक है जिसमें मैं अपनी वेबसाइट के प्रत्येक पृष्ठ में शामिल होगा, इसलिए मैं कई पृष्ठों में इस कोड को संदर्भित करने के लिए php का उपयोग करना चाहता था। हालांकि, मुझे लगता है कि मेरे पास वाक्यविन्यास गलत या कुछ हो सकता है क्योंकि जब मैं इसे लोड करता हूं तो यह कुछ भी प्रस्तुत नहीं कर रहा है। यहाँ कुछ कोड के टुकड़े कर रहे हैं:PHP एचटीएमएल के लिए शामिल करें?

<!-- sample page --> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 
<html> 
<head> 
<?php include ('headings.php'); ?> 
</head> 
<body> 
<?php include ('navbar.php'); ?> 
<?php include ('image.php'); ?> 
</body> 
</html> 

navbar.php

<?php 

    echo '<ul id="nav"> 
     <li> 
      <a href="Home.html">Home</a> 
     </li> 
     <li> 
      <a>About Me</a> 
      <ul> 
       <li> 
        <a href="Career.html">Career</a> 
       </li> 
       <li> 
        <a href="Coding.html">Coding</a> 
       </li> 
       <li> 
        <a href="Personal.html">Personal</a> 
       </li> 
      </ul> 
     </li> 
     <li> 
      <a href="Travels.html">Travel</a> 
     </li> 
     <li> 
      <a href="Contact.html">Contact</a> 
     </li> 
    </ul>'; 

    ?> 

की मदद करने के लिए धन्यवाद!

+6

PHP टैग में इसे रखने और 'echo' का उपयोग करने का कोई कारण नहीं है। आप इसे शामिल कर सकते हैं भले ही यह सिर्फ कच्चा HTML है। ** संपादित करें **: उसने कहा, आपका कोड ठीक दिखता है। क्या आपने स्रोत देखने की कोशिश की है, और क्या आप इसे ओपी में पोस्ट कर सकते हैं? ** संपादित करें **: शायद ऐसा इसलिए है क्योंकि PHP आपके सर्वर पर स्थापित नहीं है, और इसलिए आपका ब्राउज़र केवल PHP टैग को नियमित HTML टैग (कुछ भी नहीं) के रूप में प्रस्तुत करता है। – h2ooooooo

+0

+1 जैसे आपने सिर और बॉडी टैग के लिए किया – Waygood

+0

आप इसके बजाय टेम्पलेट इंजन पर विचार करना चाहेंगे। उदाहरण के रूप में Smarty, Twig, या Dwoo देखें। वहां एक टन अधिक हैं। – Crontab

उत्तर

23

आप php कोड .php के साथ फ़ाइलों में कोड का उपयोग कर सकते हैं और केवल वहां (iff अन्य को आपकी सर्वर सेटिंग्स में परिभाषित नहीं किया गया है)।

1) में संशोधन करना httpd.conf अनुमति देने के लिए:

बस अपने फ़ाइल *.html*.php


आप अलग स्वरूप की फाइलों में php कोड प्रसंस्करण अनुमति देना चाहते हैं के लिए नाम बदलने के आपके पास दो विकल्प है कि क्या करना है यह आपके सर्वर पर सभी परियोजनाओं के लिए,

AddHandler application/x-httpd-php .htm .html 

2)बनाना

<Files /> 
    AddType application/x-httpd-php .html 
</Files> 

आप अपने httpd.conf में .htaccess फ़ाइलों के उपयोग की अनुमति के लिए, निम्न सेटिंग जोड़कर जरूरत दूसरा विकल्प के लिए:: के साथ अपने अलग परियोजना शीर्ष निर्देशिका मेंफ़ाइल

AllowOverride All 
AccessFileName .htaccess 

* उस के लिए सही है अपाचे HTTP सर्वर

+8

झूठा। जब तक सर्वर PHP एक्सटेंशन के रूप में विभिन्न एक्सटेंशन को संभालने के लिए सेट अप किया जाता है, तो आप फ़ाइल में किसी भी ** एक्सटेंशन (यानी '.js', '.css',' .html', आदि के साथ फ़ाइल में PHP कोड शामिल कर सकते हैं।)। – Matt

+0

आप अन्य एक्सटेंशन के साथ फ़ाइलों में PHP का भी उपयोग कर सकते हैं। – jprofitt

+0

दरअसल आप जहां भी चाहें PHP का उपयोग कर सकते हैं। – Vatev

9

आपको php फ़ाइल के भीतर जानकारी को प्रतिबिंबित करने की आवश्यकता नहीं है। एक php include स्वचालित रूप से उस फ़ाइल के भीतर किसी भी HTML को शामिल करेगा।

सुनिश्चित करें कि आप वास्तव में .php एक्सटेंशन के साथ एक इंडेक्स फ़ाइल का उपयोग कर रहे हैं, .html php के साथ काम नहीं करेगा। (जब तक आप अपने सर्वर को एचटीएमएल फाइलों का इलाज करने के लिए नहीं कह रहे हैं)

सुनिश्चित करें कि आपके पथ सही तरीके से स्थापित हैं। आपके विवरण से, जिस तरह से आपने इसे अपना header.php/navbar.php/image.php फ़ाइलों को सेट अप किया है, वह आपकी मूल निर्देशिका में होना चाहिए। तो अपने रूट निर्देशिका इस तरह दिखना चाहिए:

index.php
navbar.php
image.php
header.php

अन्यथा अगर उन पीएचपी फ़ाइलें एक फ़ोल्डर /includes/ कहा जाता है में हैं, यह बहुत तरह दिखना चाहिए:

<?php include ('includes/headings.php'); ?>

0

पहली: क्या दूसरों ने कहा। गूंज स्टेटमेंट को भूल जाएं और नियमित रूप से HTML फ़ाइल के रूप में अपना navbar.php लिखें।

दूसरा: आपके शामिल पथ शायद गड़बड़ हो गए हैं।सुनिश्चित करें कि आप फ़ाइलों है कि मौजूदा फ़ाइल के रूप में एक ही निर्देशिका में शामिल करने के लिए, __DIR__ का उपयोग करें: कुछ डिबगिंग जानकारी पाने के लिए

include __DIR__.'/navbar.php'; // PHP 5.3 and later 
include dirname(__FILE__).'/navbar.php'; // PHP 5.2 
4

प्रयास करें, हो सकता है कि फ़ाइल पथ गलत है, उदाहरण के लिए।

इन दो चीजों का प्रयास करें: -: इसलिए यदि कोई समस्या आप एक मिलता है

<?php error_reporting(E_ALL);?> 

इस पृष्ठ में सभी त्रुटियों/चेतावनी/नोटिस प्रिंट होगा अपने नमूना पृष्ठ के शीर्ष करने के लिए इस पंक्ति जोड़ें पाठ संदेश के बजाय का वर्णन एक रिक्त पृष्ठ

इसके अतिरिक्त आप बदल सकते हैं की() की आवश्यकता होती है()

<?php require ('headings.php'); ?> 
<?php require ('navbar.php'); ?> 
<?php require ('image.php'); ?> 

यह एक घातक गलती फेंक होगा शामिल या PHP आवश्यक पृष्ठों को लोड करने में असमर्थ है, और आपको गलत पता लगाने में मदद करनी चाहिए कि क्या गलत हो रहा है ..

यदि आप कोई प्राप्त करते हैं, तो आप यहां त्रुटि विवरण पोस्ट कर सकते हैं, और आप इसका अर्थ समझने में असमर्थ हैं ..

+0

धन्यवाद, लेकिन हमें यह पता चला। मुझे यकीन है कि यह भविष्य में सहायक होगा, यद्यपि! – sresht

1

यहाँ कदम प्रक्रिया द्वारा कदम html फ़ाइल (परीक्षण)

पीएचपी काम कर रहा है अगर वहाँ केवल है में php कोड शामिल करने के लिए एक कदम * .html या फ़ाइलों में PHP स्क्रिप्ट का उपयोग करने के लिए छोड़ दिया है * एचटीएम एक्सटेंशन भी। जादू शब्द ".htaccess" है। इसके बारे में अधिक जानने के लिए कृपया .htaccess की विकिपीडिया परिभाषा देखें। विकिपीडिया के अनुसार यह "निर्देशिका-स्तर कॉन्फ़िगरेशन फ़ाइल है जो वेब सर्वर कॉन्फ़िगरेशन के विकेन्द्रीकृत प्रबंधन की अनुमति देती है।"

आप शायद अपने उद्देश्य के लिए ऐसी .htaccess कॉन्फ़िगरेशन फ़ाइल का उपयोग कर सकते हैं। हमारे मामले में आप वेबसर्वर को HTML फ़ाइलों जैसे PHP फ़ाइलों को पार्स करना चाहते हैं।

सबसे पहले, एक खाली टेक्स्ट फ़ाइल बनाएं और इसे ".htaccess" नाम दें। आप खुद से पूछ सकते हैं कि फ़ाइल नाम डॉट के साथ क्यों शुरू होता है। यूनिक्स जैसी प्रणालियों पर इसका मतलब है कि यह एक डॉट-फाइल एक छिपी हुई फाइल है। (नोट: यदि आपका ऑपरेटिंग सिस्टम किसी डॉट से शुरू होने वाले फ़ाइल नामों की अनुमति नहीं देता है तो फ़ाइल को "xyz.htaccess" अस्थायी रूप से नाम दें। जैसे ही आप इसे बाद में अपने वेबसर्वर पर अपलोड कर चुके हैं, आप फ़ाइल को ऑनलाइन " .htaccess ") अगला, एमएस विंडोज़ में" संपादक "जैसे साधारण टेक्स्ट एडिटर के साथ फ़ाइल खोलें। निम्न पंक्ति को फ़ाइल में पेस्ट करें: AddType एप्लिकेशन/x-httpd-php .html .htm यदि यह काम नहीं करता है, तो कृपया अपनी फ़ाइल से ऊपर की रेखा को हटा दें और PHP5: AddType एप्लिकेशन के लिए इस वैकल्पिक पंक्ति को पेस्ट करें/x-httpd-php5 .html .htm अब अपने वेबसर्वर की रूट निर्देशिका में .htaccess फ़ाइल अपलोड करें। सुनिश्चित करें कि फ़ाइल का नाम ".htaccess" है। आपका वेबसर्वर अब * .htm और * .html फ़ाइलों जैसे PHP फ़ाइलों को पार्स करना चाहिए।

यदि आप एचटीएमएल-फाइल बनाकर निम्नलिखित काम करते हैं तो आप कोशिश कर सकते हैं। नाम यह "php में html-test.htm", यह में निम्न कोड पेस्ट करें और अपने वेब सर्वर के रूट निर्देशिका में अपलोड: में टाइप करके अपने ब्राउज़र में फ़ाइल खोलने के लिए

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
    <HTML> 
<HEAD> 
<TITLE>Use PHP in HTML files</TITLE> 
</HEAD> 

    <BODY> 
    <h1> 
    <?php echo "It works!"; ?> 
    </h1> 
    </BODY> 
</HTML> 

प्रयास करें: http://www.your-domain.com/php-in-html-test.htm (एक बार फिर, कृपया अपने डोमेन द्वारा अपने-domain.com को प्रतिस्थापित करें ...) यदि आपका ब्राउज़र वाक्यांश "यह काम करता है!" दिखाता है सब कुछ ठीक काम करता है और आप अब से PHP *। html और * .htm फ़ाइलों का उपयोग कर सकते हैं। हालांकि, यदि नहीं, तो कृपया ऊपर दिखाए गए .htaccess फ़ाइल में वैकल्पिक पंक्ति का उपयोग करने का प्रयास करें।यदि अभी भी काम नहीं करता है तो कृपया अपने होस्टिंग प्रदाता से संपर्क करें।

1

मुझे पता चला कि PHP में एक साधारण समाधान शामिल है। बस अपनी सभी .html फ़ाइलों को .php पर पुनर्नामित करें और आप जाने के लिए अच्छे हैं।

0

मेरे पास एक समान समस्या है। ऐसा प्रतीत होता है कि PHP को फ़ाइल के अंदर PHP कोड पसंद नहीं है। आपके मामले में समाधान काफी सरल है। Navbar.php से php कोड निकालें, बस इसमें सादा HTML छोड़ दें और यह काम करेगा।

+0

यह वास्तव में प्रश्न का उत्तर नहीं देता है। यदि आपके पास कोई अलग प्रश्न है, तो आप [प्रश्न पूछें] (https://stackoverflow.com/questions/ask) पर क्लिक करके पूछ सकते हैं। एक बार आपके पास पर्याप्त [प्रतिष्ठा] (https://stackoverflow.com/help/) हो जाने पर आप इस प्रश्न पर अधिक ध्यान आकर्षित करने के लिए [एक बक्षीस] (https://stackoverflow.com/help/privileges/set-bounties) भी जोड़ सकते हैं। क्या-प्रतिष्ठा)। - [समीक्षा से] (/ समीक्षा/कम गुणवत्ता वाली पोस्ट/17479786) –

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