הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   שאיבת תפריט מקובץ חיצוני (https://hosts.co.il/forums/showthread.php?t=53834)

cobano 17-09-07 12:50

שאיבת תפריט מקובץ חיצוני
 
שלום חברי הפורום,
אני מעוניין ליצור קובץ חיצוני (בוא נקח לדוגמא את m.html) שבו יהיה את הקוד של התפריט.
אני רוצה שהתפריט ירוץ על כל דפי האתר ובעצם אני אוכל לעדכן אותו באמצעות קובץ אחד (m.html).

מישהו המליץ לי להוסיף את השורה הזאת לקוד הדף הרגיל של האתר:
<? require("m.html"); ?>

לצערי זה לא עובד והוא לא מציג את התוכן של m.html בתוך האתר.

כיצד ניתן לבצע את הפעולה, בלי DB ובלי כלום אבל חובה שתוכן הקובץ החיצוני יופיע בקוד המקור של הקובץ הרגיל של האתר.

תודה.

RS324 17-09-07 13:11

PHP קוד:

$menu file_get_contents('./menu.html');
echo 
$menu


cobano 17-09-07 13:36

ציטוט:

נכתב במקור על ידי RS324 (פרסם 556771)
PHP קוד:

$menu file_get_contents('./menu.html');
echo 
$menu


ניסיתי לשים את הקוד בצורה כמו ששלחת (במקום הקוד של התפריט), אבל זה לא עובד. מה שרואים זה רק את הטקסט של הקוד עצמו...

Elad-A 17-09-07 13:45

הקובץ נמצא על השרת שלך?

cobano 17-09-07 13:54

ציטוט:

נכתב במקור על ידי Elad-A (פרסם 556777)
הקובץ נמצא על השרת שלך?

כן,
גם הקובץ index.php וגם הקובץ menu.html נמצאים על השרת באותה תקיה.

Dorg 17-09-07 14:47

תעשה פריימים בhtml
כלומר תעשה index.html ותעשה בו שני פריימים אחד בשביל התפריט ואחד בשביל שאר האתר
תצור את שאר העמודים של האתר ובעמוד של התפריט תעשה קישור עם target לתוך הפריים של האתר... ככה ישאר לך תפריט בכל העמודים.

אם אתה צריך עזרה בקוד אתה מוזמן ליצור קשר(אם אתה נכנס אתה תראה שזה מה שעשיתי בעמוד שיצרתי לעצמי רק עשיתי פריימים בשורות במקום בטורים שזה מה שאתה צריך)

LandRover 17-09-07 15:21

ציטוט:

נכתב במקור על ידי Dor | Expert-Serv.co.il (פרסם 556789)
תעשה פריימים בhtml
כלומר תעשה index.html ותעשה בו שני פריימים אחד בשביל התפריט ואחד בשביל שאר האתר
תצור את שאר העמודים של האתר ובעמוד של התפריט תעשה קישור עם target לתוך הפריים של האתר... ככה ישאר לך תפריט בכל העמודים.

אם אתה צריך עזרה בקוד אתה מוזמן ליצור קשר(אם אתה נכנס אתה תראה שזה מה שעשיתי בעמוד שיצרתי לעצמי רק עשיתי פריימים בשורות במקום בטורים שזה מה שאתה צריך)

אל תעשה שום פריים. שום מנוע חיפוש לא יציג את התוכן וזה גם נראה זול.

תבדוק למה אכן require לא פועל.

אגב, השרת שלך מציג הודעות שגיאה? אולי יש תקלה כלשהי וזה לא מציג לך אותן.
לא יכול להיות ש require סתם לא מגיב..

Derey22 17-09-07 15:26

PHP קוד:

$menu file_get_contents('./menu.html'); 
echo 
htmlspecialchars($menu); 


DorWD 17-09-07 15:33

ציטוט:

נכתב במקור על ידי Derey22 (פרסם 556797)
PHP קוד:

$menu file_get_contents('./menu.html'); 
echo 
htmlspecialchars($menu); 


למה הhtmlspecialchars?

cobano 17-09-07 15:53

כך זה נראה:

http://tiniuri.com/c/JB

Meir 17-09-07 16:00

אני חושב שלא שמת את הקוד בין התגים <?php ו?>

DanielS 17-09-07 16:02

יש מצב שהשורת שלך לא הוגדר לעבוד עם הקיצור <? ?>

נסה את זה :
PHP קוד:

<?php require("m.html"); ?>


Alter 17-09-07 16:07

אור, את
HTML קוד:

<tr>
$menu = file_get_contents('./menu.html');
echo htmlspecialchars($menu); 
        <td style='width:9px;'></td>

תחליף ב:
PHP קוד:

<tr>
<?
$menu 
file_get_contents('./menu.html'); 
echo 
htmlspecialchars($menu);  
?>
    <td style='width:9px;'></td>


cobano 17-09-07 17:14

אוהו תודה, עכשיו זה עובד.
אבל הבעיה מה צריך להיות בקובץ menu.html ?
כמו שניתן לראות כעת מה שמופיע זה הקוד כטקסט, אילו פקודות צריכות להיות בהתחלה ובסוף?

תודה.

Striker 17-09-07 17:23

דרך א:
PHP קוד:

<?php
@include("menu.html") or die("שגיאה?");
?>

דרך ב:
PHP קוד:


<?php
$size 
"999999";
$open fopen("menu.html",r);
$read fread($open,$size);
echo 
$read;
?>

הקודים שהם פרסמו לא ידפיסו לך את הקוד כקוד HTML
תמחק את מה שהביאו לך ותבחר 1 ממה שכתבתי לך.

Kfir.G 17-09-07 17:25

אני לא מבין למה עשית מזה כזה סיפור... קודם כל דבר ראשון שצריך לעשות זה לבדוק אם הכתובת של העמוד היא לא הכתובת של הקובץ כי אני לא באמת חושב שאתה רוצה שאנשים יראו סתם את התפריט בלי כלום... אח"כ אתה פשוט מכניס את הhtml שלך ועושה require (אפשר גם עם include אבל מן הסתם אתה רוצה לקבל שגיאה או משהו אם זה לא מופיע ולכן עדיף require) הנה דוגמה בשבילך איך לעשות את זה.

menu.php
PHP קוד:

<?php
    
if(eregi('menu.php',$_SERVER['PHP_SELF'])){
        echo 
"<script>window.location=\"index.php\"</script>";
    }
?>
html code...

index.php
PHP קוד:

<html>
    ...
    <?php require("menu.php"); ?>
    ...
</html>

פשוט ועושה את העבודה...

cobano 17-09-07 19:15

תודה רבה לכולם, עכשיו עובד מצויין!


כל הזמנים הם GMT +2. הזמן כעת הוא 02:02.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ