मैं अपने पार्श्व मेनू के लिए बाहरी फ़ाइल कैसे बना सकता हूँ?

<a class="active" href="C.html" style="font-size: 1.1em;font-weight: 900;">C Programming</a>
<a href="C++.html" style="font-size: 1.1em;font-weight: 900;">C++</a>
<a href="CSharp.html" style="font-size: 1.1em;font-weight: 900;">C#</a>
<a href="Go.html" style="font-size: 1.1em;font-weight: 900;">Go</a>
<a href="Java.html" style="font-size: 1.1em;font-weight: 900;">Java</a>
<a href="JavaScript.html" style="font-size: 1.1em;font-weight: 900;">JavaScript</a>
<a href="PHP.html" style="font-size: 1.1em;font-weight: 900;">PHP</a>
<a href="Python.html" style="font-size: 1.1em;font-weight: 900;">Python</a>
<a href="Ruby.html" style="font-size: 1.1em;font-weight: 900;">Ruby</a>
<a href="Swift.html" style="font-size: 1.1em;font-weight: 900;">Swift</a>

वर्तमान में मेरे पास प्रत्येक फ़ाइल में इस प्रकार के लिंक हैं और कोड बहुत अधिक हो रहा है। क्या मेनू आइटम के लिए बाहरी फ़ाइल बनाने का कोई तरीका है?

मैंने कोशिश की यह लेकिन समस्या class="active" है। जब मेरा मेनू आइटम index.php में होता है, तो मैं एक मेनू आइटम को हाइलाइट करना चाहता हूं मुझे पता है कि जब मेरा मेनू प्रत्येक व्यक्तिगत HTML फ़ाइल में होता है तो इसे कैसे प्राप्त किया जाता है, लेकिन जब यह बाहरी PHP फ़ाइल में होता है तो मैं इसे कैसे कर सकता हूं?

सूचकांक.php

<html>
<head>
  <link rel="stylesheet" type="text/css" href="CSS/Tags.css">
  <link rel="stylesheet" type="text/css" href="CSS/Nav.css">
  <link rel="stylesheet" type="text/css" href="CSS/Card.css">
  <link rel="stylesheet" type="text/css" href="CSS/Buttons.css">
  <meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
  <div class="sidenav">

 <h1>&nbspOthers</h1>
 <a href="" style="font-size: 1.1em;font-weight: 900;">MS Excel</a>
 <a href="" style="font-size: 1.1em;font-weight: 900;">MS PowerPoint</a>
 <a href="" style="font-size: 1.1em;font-weight: 900;">MS Word</a>
 <a href="" style="font-size: 1.1em;font-weight: 900;">WordPress</a>
</div>

</body>
</html>

मुख्य फ़ाइल

<?php include('index.html'); ?>
-1
Hailey Ash 14 फरवरी 2020, 17:48
किसी अन्य पृष्ठ से स्थिर सामग्री शामिल करने के लिए JS का उपयोग न करें (क्योंकि यह सर्वर से एक अतिरिक्त अनुरोध करता है)। इसके बजाय आपको ब्राउज़र पर HTML भेजे जाने से पहले सर्वर पर सामग्री को 'शामिल' करने में सक्षम होना चाहिए। वास्तव में आप यह कैसे करते हैं यह इस बात पर निर्भर करता है कि आप किस प्रकार के सर्वर का उपयोग कर रहे हैं और यह किस प्रकार की तकनीकों का समर्थन करता है।
 – 
Rory McCrossan
14 फरवरी 2020, 17:49
ठीक है, मैं इसे अभी अपने दम पर होस्ट कर रहा हूं। अगर मुझे पर्याप्त ट्रैफ़िक मिलता है तो मैं शायद सर्वर पर शिफ्ट हो जाऊंगा @ रोरीमैकक्रॉसन
 – 
Hailey Ash
14 फरवरी 2020, 18:00
मेरे कई प्रश्न हैं : क्या आप .html या .php फाइलें फाइल कर रहे हैं? आपकी फ़ाइल का नामकरण स्पष्ट नहीं है, आपकी मुख्य फ़ाइल में index.html शामिल है और आपकी अन्य फ़ाइल index.php है। क्या आपके पास एक PHP दुभाषिया है (जैसे अपाचे) आपकी वेबसाइट को होस्ट करने वाले सर्वर/कंप्यूटर पर स्थापित है? यदि होस्टिंग मशीन में PHP दुभाषिया नहीं है तो PHP फ़ाइल के अंदर PHP कोड की व्याख्या नहीं की जाएगी
 – 
Oddrigue
14 फरवरी 2020, 18:56

2 जवाब

आपको अपना मेनू शामिल करने के लिए जावास्क्रिप्ट का उपयोग नहीं करना चाहिए। आप अपने पेज पर अपने मेनू (लेकिन मुझे हेडर का सुझाव देते हैं) फ़ाइल को शामिल करने के लिए PHP का उपयोग कर सकते हैं:

<?php include('/template/header.html'); ?>

या आप Gulp जैसे प्री-प्रोसेसर का उपयोग कर सकते हैं:

@@include('./template/header.html')

var fileinclude = require('gulp-file-include'),
gulp = require('gulp');

gulp.task('fileinclude', function() {
  gulp.src(['index.html'])
    .pipe(fileinclude({
      prefix: '@@',
      basepath: '@file'
    }))
    .pipe(gulp.dest('./'));
});

या पगया ग्रंट और ......


टिप्पणियों में आपकी समस्या के बारे में। मान लें कि आप अपने मुख्य फ़ोल्डर में हैं और आपके पास यह 3 फ़ाइलें हैं:

index.php
header.html
homepage.html
footer.html

index.php इस तरह होना चाहिए:

<?php
include('header.html');
include('hompage.html');
include('footer.html');
?>

और फिर अपने ब्राउज़र में आपको index.php खोलना चाहिए।

** एक ही समय में index.html और index.php का उपयोग न करें।

अगर यह काम नहीं किया। आपको अपनी index.php फ़ाइल में त्रुटि मिलनी चाहिए।

जब आपका कोड काम करता है। मेरा सुझाव है कि आप शामिल करने के बजाय readfile() का उपयोग करें। अगर आपकी अन्य फाइलें सिर्फ एचटीएमएल हैं और इसमें कोई PHP कोड नहीं है।

0
Abolfazl Ghaemi 14 फरवरी 2020, 18:50
किसी कारण से PHP में काम नहीं करता है। क्या मुझे अपने .html कोड में PHP या कुछ लागू करने के लिए कुछ अतिरिक्त प्लगइन स्थापित करना चाहिए?
 – 
Hailey Ash
14 फरवरी 2020, 18:10
क्या आपको कोई त्रुटि मिलती है? क्या आपकी मुख्य फ़ाइल (उदाहरण के लिए: index.php) उसी निर्देशिका में है जिसमें आपकी हेडर.एचटीएमएल फ़ाइल है?
 – 
Abolfazl Ghaemi
14 फरवरी 2020, 18:14
index.html के एक्सटेंशन को index.php में बदलें, फिर इस फ़ाइल के अंदर php कोड का उपयोग करें।
 – 
Abolfazl Ghaemi
14 फरवरी 2020, 18:21

जैसा कि Abolfazl Ghaemi द्वारा बताया गया है:

आपको अपना मेनू शामिल करने के लिए जावास्क्रिप्ट का उपयोग नहीं करना चाहिए। आप अपने पेज पर अपने मेनू (लेकिन मुझे हेडर का सुझाव देते हैं) फ़ाइल को शामिल करने के लिए PHP का उपयोग कर सकते हैं:

<?php include('/template/header.html'); ?>

गुलप/ग्रंट समाधान ठीक है लेकिन मैं आपकी समस्या के लिए <?php include(); ?> समाधान के साथ रहूंगा।

क्या होस्टिंग मशीन PHP बोलती है ?

यदि ब्राउज़र आपको वेबपेज देने के लिए HTML को ठीक से पढ़ सकते हैं, तो वे PHP नहीं पढ़ सकते हैं। इसके बजाय, PHP को होस्टिंग मशीन पर किसी चीज़ द्वारा निष्पादित करने की आवश्यकता है और इसके लिए आपको एक PHP दुभाषिया की आवश्यकता होगी जैसे Apache.

अगर आपने पहले से ऐसा नहीं किया है, तो मैं आपको इंस्टॉल करने की पुरज़ोर सलाह देता हूँ। एक पूर्ण AMP स्टैक

एचटीएमएल फाइलों में पीएचपी काम नहीं करेगा

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

सुनिश्चित करें कि आपकी मुख्य फ़ाइल एक .php फ़ाइल है।

क्या आप सही फाइल बुला रहे हैं?

साथ ही, आपको यह सुनिश्चित करना होगा कि आप जिस फ़ाइल नाम को शामिल कर रहे हैं वह सही है। आपके प्रश्न में दिखाई गई सामग्री है

मुख्य फ़ाइल

<?php include('index.html'); ?>

लेकिन आपकी फ़ाइल वास्तव में index.php index.html नहीं है।

एचटीएमएल सीएसएस के साथ सुंदर है

यदि आप active वर्ग वाले आइटम को "हाइलाइट" करना चाहते हैं, तो आपको CSS की आवश्यकता होगी। आप अपनी फ़ाइल में <style> टैग के साथ जल्दी से CSS जोड़ सकते हैं। नीचे उदाहरण देखें।

<ul>
<li>Not highlighted</li>
<li>Still not highlighted</li>
<li class="active">Highlighted ! Spotlight's on me baby !</li>
<li>Not highlighted</li>
</ul>

<style>
.active {
  color: red;
  font-weight: bold;
}
</style>
0
Oddrigue 14 फरवरी 2020, 19:40
ठीक है PHP का काम करना कोई बड़ी बात नहीं है। लेकिन जैसा कि मैंने प्रश्न में उल्लेख किया है कि मैं एक निश्चित मेनू को हाइलाइट करने के लिए कैसे प्राप्त करूं?
 – 
Hailey Ash
14 फरवरी 2020, 19:31
मेरा बुरा, वह हिस्सा नहीं देखा :) आप इसे active कक्षा में CSS जोड़कर हासिल करेंगे। आप एक <style> टैग में अपनी फ़ाइल में जल्दी से CSS कोड जोड़ सकते हैं। मैं उस हिस्से को कवर करने के लिए अपना जवाब संपादित करूंगा।
 – 
Oddrigue
14 फरवरी 2020, 19:37
मुझे लगता है कि तुमने मुझे गलत समझा। देखिए मेरे पास एक ही मेन्यू वाली 10 फाइलें हैं। जब मैं पेज ए में हूं तो मैं मेनू में ए को हाइलाइट करना चाहता हूं। जब मैं पेज बी में हूं तो मैं चाहता हूं कि बी को हाइलाइट किया जाए। मैं प्रत्येक HTML फ़ाइल में कोड जोड़ने के साथ इसे आसानी से प्राप्त कर सकता हूं। मेरा सवाल यह है कि मैं बाहरी शामिल फ़ाइल का उपयोग कैसे करूं जहां मैं अपना मेनू रखता हूं और इसे प्राप्त करता हूं
 – 
Hailey Ash
14 फरवरी 2020, 20:09
ठीक है, मुझे लगता है कि मुझे मिल गया: आप अपने सभी अन्य पृष्ठों में "मेनू" फ़ाइल शामिल करना चाहते हैं और आप चाहते हैं कि "मेनू" फ़ाइल आपके वर्तमान पृष्ठ से संबंधित लिंक को ऑटो-हाइलाइट करे। क्या यही है ?
 – 
Oddrigue
15 फरवरी 2020, 00:54