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

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   [PHP] 2 שאלות בקשר ל <<<HTML .. (https://hosts.co.il/forums/showthread.php?t=25946)

miniature 08-07-06 22:12

[PHP] 2 שאלות בקשר ל <<<HTML ..
 
1. אם אפשר לעשות:
PHP קוד:

echo <<<HTML
 
HTML; 

אז למה לעשות בכלל בקבצי PHP מרכאות ו echo, הרי אפשר להכניס בין הקוד הנ"ל משתנים, טקסט והכל..

2. אני רוצה לעשות נתיב של התמונות שיוצב במשתנה, ויש לי קובץ CSS שיש בו רקע עם תמונה.
איך אני יכול לכתוב את המשתנה במקום המתאים בהגדרת הרקע בקובץ ה CSS ?


תודה,

sUP 08-07-06 23:02

1. בחירה של המתכנת
2. אני לא חושב שאפשר להציג משתנים בקובץ CSS חיצוני

RS324 08-07-06 23:05

בטח שאפשר לגבי 2
אבל אתה צריך להשתמש EVAL...

miniature 08-07-06 23:38

ציטוט:

נכתב במקור על ידי RS324
בטח שאפשר לגבי 2
אבל אתה צריך להשתמש EVAL...

הבנתי.

PHP קוד:

$img_path "bla/"

קוד:

#bla{
background:url($img_path bla.gif);
}

אז ה EVAL של זה הוא:
PHP קוד:

eval("\$img_path = \"$img_path\";"); 

אם לא אז לא הבנתי :-/

RS324 09-07-06 00:00

בדקת אם זה עובד ??

miniature 09-07-06 00:13

לא כי אני לא יודע איך להכניס ואיפה כל דבר =/

RS324 09-07-06 01:39

טוב אז ככה :

קובץ ראשון : css.css התוכן שלו לדוגמא :

PHP קוד:

body
{
margin $pagemargin


הקובץ הבא הוא הקובץ עיקרי - יש לך את הפונקציה הבאה שהיא בעצם המנוע
תדחוף אותה איפה שאתה רוצה :

PHP קוד:

function fetch_css($file)
{
    
$css file_get_contents($file);
    return 
str_replace(($vars), eval($vars), $css);


עכשיו חשוב מאד שכל ההגדרות של ה STYLE יתבצעו לפני שאתה קורא לו

PHP קוד:

$pagemargin "2px 2px 2px 2px;";
$csstext fetch_css('css.css');
echo 
"<script type=\"text/css\">$csstext</script>"

אמור לעבוד חלק....

לא בדקתי אבל כמעט בטוח שזה עובד..תהנה

miniature 09-07-06 03:39

לא עובד משום מה =/

גם אני לא בטוח שהבנת אותי.
אני מנסה לעשות ככה:

קובץ PHP:
PHP קוד:

$path "images/"

קובץ CSS:
HTML קוד:

body{
background:url($path . top_px.gif) top center repeat-x;
}

מקווה שהבנת..
לי אין מושג איך מסדרים את זה שיעבוד ככה :(

RS324 09-07-06 04:17

תוריד את הנקודה, אתה לא כותב ב PHP
אתה כותב ב CSS

תנסה ככה
PHP קוד:

body{
background:url($pathtop_px.giftop center repeat-x;


או ככה :

PHP קוד:

body{
background:url({$path}top_px.giftop center repeat-x;


משהו מזה חייב לעבוד
ואני אומר לך שזה עובד כי אני משתמש בשיטה הזאת רק למשהו אחר ...

miniature 09-07-06 04:28

עדיין הרקע לא מופיע |:

try.php
PHP קוד:

<?php
function fetch_css($file) { 
$css file_get_contents($file); 
return 
str_replace(($vars), eval($vars), $css); 
}
$path "home/images/"
$csstext fetch_css('css.css');
echo 
"<html><head>";
echo 
"<script type=\"text/css\">$csstext</script>";
echo 
"</head><body>sadsaf</body></html>";
?>


try.css
HTML קוד:

body{
background:url({$path}top_px.gif) top center repeat-x;
}


עריכה:
מצאתי איזה קישור אבל אני לא מבין שם את הדרך שלהם..
http://www.chrisjdavis.org/2005/10/16/php-in-css/

RS324 09-07-06 04:35

תעשה שניה VIEW SOURCE ותדביק פה בבקשה...

miniature 09-07-06 05:03

HTML קוד:

<html><head><script type="text/css"></script></head><body>sadsaf</body></html>
זה בכלל לא מייבא את הקובץ CSS..

RS324 09-07-06 05:17

תשנה את הפונקציה לדבר הזה ותראה מה הוא נותן לך
אם הוא נותן לך להמשיך או לא..
PHP קוד:

function fetch_css($file)
{
    
$css file_get_contents("$file");
    if (empty(
$css))
    {
        
        die(
'CANT GET CSS FILE, Is IT EXSIT ?');
    }
    return 
str_replace(($vars), eval($vars), $css);



miniature 09-07-06 05:25

תוצאה:
ציטוט:

CANT GET CSS FILE, Is IT EXSIT ?

RS324 09-07-06 05:28

יש לך בכלל קובץ שנקרא css.css ? והוא נמצא באותה תיקייה כמו הסקריפט ?

כי עכשיו זה לא קשור למה שאמרתי לך בכלל

הוא פשוט לא מוצא את הקובץ אז פשוט תבדוק את עצמך.

miniature 09-07-06 05:35

כן, כל הקבצים במקומם.

עריכה:
זה כותב עכשיו:
HTML קוד:

<html><head><script type="text/css">body{
background:url({$path}top_px.gif) top center repeat-x;
}</script></head><body>sadsaf</body></html>


RS324 09-07-06 05:38

יופי כבר התקדמות
בקובץ CSS.CSS
תוריד את ה }{
ותנסה שוב.

miniature 09-07-06 05:40

HTML קוד:

<html><head><script type="text/css">body{
background:url($pathtop_px.gif) top center repeat-x;
}</script></head><body>sadsaf</body></html>


RS324 09-07-06 05:47

מצטער על הבלגאן
יש לי את הפתרון בשבילך

ככה :

PHP קוד:

$csstext fetch_css('css.css'); 

תחליף ב :

PHP קוד:

eval('$csstext =("' fetch_css('css.css') . '");'); 

ואתה הפונקציה תמחק ותשים את זאת

PHP קוד:

function fetch_css($file)
{
    if (!
file_exists($file))
    {
        die(
"Cant Find css : $file");
    }
    else {
        
//file exsit  - readit
    
$css addslashes(file_get_contents($filename));
    return 
str_replace(($vars), eval($vars), $css);

        
    }
    



אין מצב שזה לא עובד !!!

miniature 09-07-06 05:52

HTML קוד:

<html><head><script type="text/css"></script></head><body>sadsaf</body></html>
|דמעות|

RS324 09-07-06 05:52

חכה אני יעשה הכל אצלי...

טעות שלי
בדקתי אצלי עובד מצויין

$css = addslashes(file_get_contents($filename));

תחליף את FILENAME
ב FILE

חח מצטער

miniature 09-07-06 05:57

ציטוט:

נכתב במקור על ידי RS324
חכה אני יעשה הכל אצלי...

OK

RS324 09-07-06 06:01

טעות שלי
בדקתי אצלי עובד מצויין

$css = addslashes(file_get_contents($filename));

תחליף את FILENAME
ב FILE

חח מצטער

miniature 09-07-06 06:18

תודה עזרת לי מאודדד :):):):):):)

BlueNosE 10-07-06 18:17

1. יואב, שאלה מספר אחת:
למה? כובע. תשאל את היוצרים של השפה Oם
2. לRS324 (שם פרטי אם אפשר לדעת?), אתה יכול לתת לי כיוון חשיבה איך לעשות אותו דבר רק מול מסד נתונים וטמפלטים?


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

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