我现在有一个问题。它是关于在PHP中的implode元素中使用required。
当前项目是关于使用$ _GET参数组装样式文件。所以我不需要多个<link>
标签,只需要一个。
这是一个例子: https://stylesheet-helper.bucketfront.com/css?sheet=minify
您现在包含minify.php文件。要包含style.php文件我创建了一个explode / implode元素。有了它,新网址如下所示:https://stylesheet-helper.bucketfront.com/css?sheet=style|minify 但是现在我有500服务器错误,因为我不知道如何将所需的元素包含在implode元素中。
现在代码:
<!-- language: lang-php -->
<?php
header("Content-type: text/css");
$sheet = $_GET["sheet"];
$styles = explode("|", $sheet );
$value = implode("", $styles);
require ('assets/' . $value . '.php');
?>
如何将require元素require ('assets/' . $value . '.php');
输入implode("", $styles);
元素,以便输出两个文件。
这是一个将HTML标签包含在内幕元素中的示例。我认为这也可以使用必需的元素:
<!-- language: lang-php -->
<?php
header("Content-type: text/css");
$sheet = $_GET["sheet"];
$styles = explode("|", $sheet );
$value = "<span>" . implode("</span> <span>", $styles) . "</span>";
echo $value;
// Output with URL /css?sheet=style|minify: <span>style</span> <span>minify</span>
?>
我希望你能帮助我。
非常感谢。
其他:
.htaccess文件的代码:
RewriteEngine on
RewriteCond %{REQUEST_URI} !.php$ [NC]
RewriteRule ^(.*)$ $1.php [QSA]
bucketfront子域stylesheet-helper上的所有文件:
.htaccess
css.php
/assets/minify.php
/assets/style.php
答案 0 :(得分:0)
您应该将所有文件都包含在一起(对于HTTP协议中的单个请求,不能发回超过1个回复)。在代码中添加了评论
<?php
header("Content-type: text/css");
$sheet = $_GET["sheet"];
$styles = explode("|", $sheet );
// include each file.
// If your styles are simple stylesheets (no php parsing required)
// try using readfile instead of include
foreach ($styles as $value){
include ('assets/' . $value . '.php');
// readfile method
// readfile ('assets/' . $value . '.php');
}
其他参考:readfile
答案 1 :(得分:0)
这是我使用的最终代码:
<?php
header("Content-type: text/css");
$sheet = $_GET["sheet"];
$styles = explode("|", $sheet );
$output = $styles;
foreach ($output as $value) {
require ('assets/' . $value . '.php');
}
?>
像班西说的那样,我就把它打圈了。资料来源:https://www.w3schools.com/php/php_looping_for.asp