Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 通过web界面对css文件进行永久性更改?_Php_Javascript_Jquery_Css - Fatal编程技术网

Php 通过web界面对css文件进行永久性更改?

Php 通过web界面对css文件进行永久性更改?,php,javascript,jquery,css,Php,Javascript,Jquery,Css,我正在开发一个网站包,这个网站包将提供给第三方公司 因此,如果第三方公司想要更改css中的背景色、字体面,我已经创建了一个网页,其中指定了所有css属性,在文本框中,他们将选择背景色、字体面值,这些更改应在提交更改后在css文件中生效 我的目标是,这些公司可以通过网页界面进行更改,我不希望他们找到css代码并更改其值以使工作变得简单 假设您添加了php标记,因为这是您选择的语言,那么您将需要一个小php脚本 此脚本必须打开相应的css文件,搜索要更改的相关部分,对其进行更改,并将更改后的文件写入

我正在开发一个网站包,这个网站包将提供给第三方公司 因此,如果第三方公司想要更改css中的背景色、字体面,我已经创建了一个网页,其中指定了所有css属性,在文本框中,他们将选择背景色、字体面值,这些更改应在提交更改后在css文件中生效

我的目标是,这些公司可以通过网页界面进行更改,我不希望他们找到css代码并更改其值以使工作变得简单


假设您添加了php标记,因为这是您选择的语言,那么您将需要一个小php脚本


此脚本必须打开相应的css文件,搜索要更改的相关部分,对其进行更改,并将更改后的文件写入磁盘。您可以使用regex语句来查找css文件的相关类和属性。

您将需要一个小php脚本,假设您添加了php标记,因为这是您选择的语言


此脚本必须打开相应的css文件,搜索要更改的相关部分,对其进行更改,并将更改后的文件写入磁盘。您可以使用regex语句来查找css文件的相关类和属性。

这个想法听起来不错,但可能需要做一些工作,而且不止一个答案。但我会这样做

有一个存储当前选择器、属性和值的数据库

例如:

selector | property | value
---------+----------+----------
div      | color    | #FFFFFF
div      | float    | left
等等,等等

对于提交更改的用户,请执行以下操作

1-更新数据库中的行,例如,如果用户I将div更改为#440044,则更新该行,使其如下所示:

selector | property | value
---------+----------+----------
div      | color    | #440044
div      | float    | left
2-使用PHP(或您选择的服务器端语言)拉取数据库的内容,通过选择器组织,使用mySQL查询,如下所示:

$query = 'SELECT * FROM css ORDER BY selector';
3-循环遍历这些值,将它们分组为如下数组:

$css_array = array();
foreach($rows as $row) {
    if( ! array_key_exists($row['selector'], $css_array)) {
        $css_array[$row['selector']] = array();
    }
    // push each value onto the sub array
    $css_array[$row['selector']][] = $row['property'] . ':' . $row['value'];

}
这将给您留下一个数组数组——每个子数组表示css的一个元素

array(
    'div' => array(
        'color:#440044',
        'float:left'
    ),
    'h1' => array(
        'font-size:16px'
    )
);
4-使用此数组和内爆方法,创建一个巨大的字符串,如:

foreach($css_array as $key => $value) {
    $s .= key . '{';
    $s .= implode(';\n', $value);
    $s .= key . '}';
}

5-这将给您留下一个看起来像普通css工作表的字符串。使用PHP中的fopen等函数将其写入名为style.css或类似文件

这个主意听起来不错,但可能需要做一点工作,而且不止一个答案。但我会这样做

有一个存储当前选择器、属性和值的数据库

例如:

selector | property | value
---------+----------+----------
div      | color    | #FFFFFF
div      | float    | left
等等,等等

对于提交更改的用户,请执行以下操作

1-更新数据库中的行,例如,如果用户I将div更改为#440044,则更新该行,使其如下所示:

selector | property | value
---------+----------+----------
div      | color    | #440044
div      | float    | left
2-使用PHP(或您选择的服务器端语言)拉取数据库的内容,通过选择器组织,使用mySQL查询,如下所示:

$query = 'SELECT * FROM css ORDER BY selector';
3-循环遍历这些值,将它们分组为如下数组:

$css_array = array();
foreach($rows as $row) {
    if( ! array_key_exists($row['selector'], $css_array)) {
        $css_array[$row['selector']] = array();
    }
    // push each value onto the sub array
    $css_array[$row['selector']][] = $row['property'] . ':' . $row['value'];

}
这将给您留下一个数组数组——每个子数组表示css的一个元素

array(
    'div' => array(
        'color:#440044',
        'float:left'
    ),
    'h1' => array(
        'font-size:16px'
    )
);
4-使用此数组和内爆方法,创建一个巨大的字符串,如:

foreach($css_array as $key => $value) {
    $s .= key . '{';
    $s .= implode(';\n', $value);
    $s .= key . '}';
}

5-这将给您留下一个看起来像普通css工作表的字符串。使用PHP中的fopen等函数将其写入名为style.css或类似文件

要通过网页对css文件进行永久性更改,您的具体问题是什么?到目前为止,你只描述了你的系统,这听起来很不错。你现在到底在问什么?就像你在网站上看到的那样,背景颜色是蓝色的,所以我想提供一个web界面来通过web界面更改css属性?@mr_eclair:你对其中的哪一部分有问题?你不知道从哪里开始吗?将值从接口保存到数据库是问题所在吗?从数据库中读取它们?还有什么吗?不,我不知道该怎么做,我在问我该怎么做才能通过网页对css文件进行永久性的更改你的特殊问题是什么?到目前为止,你只描述了你的系统,这听起来很不错。你现在到底在问什么?就像你在网站上看到的那样,背景颜色是蓝色的,所以我想提供一个web界面来通过web界面更改css属性?@mr_eclair:你对其中的哪一部分有问题?你不知道从哪里开始吗?将值从接口保存到数据库是问题所在吗?从数据库中读取它们?还有别的事吗?不,我不知道该怎么做那是我在问我该怎么做