php-general Digest 24 Aug 2009 06:55:03 -0000 Issue 6302

Topics (messages 297111 through 297111):

Re: wierd behavior on parsing css with no php included
        297111 by: Jim Lucas

Administrivia:

To subscribe to the digest, e-mail:
        php-general-digest-subscr...@lists.php.net

To unsubscribe from the digest, e-mail:
        php-general-digest-unsubscr...@lists.php.net

To post to the list, e-mail:
        php-gene...@lists.php.net


----------------------------------------------------------------------
--- Begin Message ---
Ralph Deffke wrote:
Hi folks, i did post this also on the Wamp page but maybe someone out there
had to solve that problem as well.

systems involved

Firefox 3.0.13
Firefox 3.5.2
IE 6

Wamp:
apache 2.2.11
PHP 5.2.9 & php 5.3

I do parse css files through php


If you state that they have not PHP to parse, then why parse them?  It is a 
waist!

Problem: css files are loaded into the browsers but not interpreted or used
on RAW HTML files no php included. The html files are produced with
phpDocumentor 1.4.2. IE6 uses parts of the css files loaded to display the
page, Firefox NOT AT ALL.

I think it might be possible that wamp throughs some wierd characters into
the css files or is the header type a problem? It looks like parsing the css
through the php engine changes the header of the css to text/html. this
would explain why IE6 can use them. on the other hand firebug shows the
loaded css, indicates however that no css is available.

as an reverse check I did load the html files direktly from the disk with
file:/// ... and the css are interpreted perfectly. so the source of the
problem is wamp.

it seems that the @importcsss does the biggest problem.it creates a 404
error "file not found"

it seems creating dynamic css files got some secrets involved with the wamp.
I'm using this concept since ages on linux with no problem.

on the @includecss it seems that the search for files are changing to the
php include path or something.

any idear what to check?

is important for my work to create css dynamicly


My suggestion would be to have php run a script using the auto_prepend_file ini 
option

; Automatically add files before or after any PHP document.
auto_prepend_file = fix_headers.php
auto_append_file =

Then, in a script called fix_headers.php, somewhere in your path I hope, you 
have this.

<?php

# The following regex is completely untested.  It is meant to
$ext = strtolower(preg_replace('|^.*\.([^.]+)$|', $_SERVER['SCRIPT_NAME']));

if ( 'css' === $ext ) {
        header('Content-Type: text/css');
}

?>

Another way to get around it is to have apache instruct PHP to change, and output, the correct content type.

http://httpd.apache.org/docs/1.3/mod/core.html#files
http://us2.php.net/manual/en/ini.core.php#ini.sect.data-handling
http://us2.php.net/manual/en/ini.core.php#ini.default-mimetype

<Files ~ "\.css$">
        php_value default_mimetype "text/css"
</Files>

Hope this helps

Jim Lucas

ralph_def...@yahoo.de





--
Jim Lucas

   "Some men are born to greatness, some achieve greatness,
       and some have greatness thrust upon them."

Twelfth Night, Act II, Scene V
    by William Shakespeare

--- End Message ---

Reply via email to