Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.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-如何基于文件名获取$value(例如value.PHP)?_Php_Import_Get_Metadata - Fatal编程技术网

使用PHP-如何基于文件名获取$value(例如value.PHP)?

使用PHP-如何基于文件名获取$value(例如value.PHP)?,php,import,get,metadata,Php,Import,Get,Metadata,是否可以基于文件名获取/导入/生成$value?例如,如果文件名为red-green.php,我希望将值导入到页面。然后,我可以用这些值来做元描述或内容所需的任何事情。原因是我想对元数据和内容使用模板方法。e、 g.元描述=你最喜欢的颜色是什么?echo$value1还是echo$value2?如果我可以基于文件名导入这些值,那么动态创建页面就更容易了,而无需对每个页面进行修补。我可以创建诸如red-green.php、black-yellow.php等文件名。您有什么想法吗?或者,有更好的方法

是否可以基于文件名获取/导入/生成$value?例如,如果文件名为red-green.php,我希望将值导入到页面。然后,我可以用这些值来做元描述或内容所需的任何事情。原因是我想对元数据和内容使用模板方法。e、 g.元描述=你最喜欢的颜色是什么?echo$value1还是echo$value2?如果我可以基于文件名导入这些值,那么动态创建页面就更容易了,而无需对每个页面进行修补。我可以创建诸如red-green.php、black-yellow.php等文件名。您有什么想法吗?或者,有更好的方法吗?此外,请随时建议更有效的替代方法来实现这一点。我可以看到一个很好的解决方案,就是基于CSV txt或其他数据库生成页面中的值,但我还没有深入研究。

是的,您可以使用包含文件名的$\u服务器['PHP\u SELF',然后解析它并创建变量

这确实是一种糟糕的做法,但您可以设置如下动态变量:

$varName = 'var1';
$$varName = 'Value';
echo $var1 // will give you Value;
color.php?color1=red&color2=green

有更好的办法。这些都应该在一个文件中。如果使用MVC类型设置,则应根据GET参数或clean url请求生成文件内容。url应该是这样的:

$varName = 'var1';
$$varName = 'Value';
echo $var1 // will give you Value;
color.php?color1=red&color2=green
然后可以在代码中获得这些参数值,如下所示:

echo $_GET['color1'];
echo $_GET['color2'];

在这种情况下,使用.htaccess是个好主意:

RewriteEngine On
RewriteRule ^([^-]*)-([^-]*)\.php$ /file.php?value1=$1&value2=$2 [L]
所以当你去:

red-green.php

此文件用于:

file.php?value1=红色&value2=绿色

但当您输入时,浏览器会一直显示red-green.php

在file.php中,您可以像往常一样获取$\u get值:

$color1 = $_GET["value1"];
$color2 = $_GET["value2"];

也许这就是您要找的。

谢谢。可以在不太技术化的情况下进行总结,是什么让它成为一种不好的做法?这与高效的性能或其他原因有关吗?谢谢。这真是太棒了。我用“x”和“y”代替了“color1”和“color2”。它工作得很好。在URL中,我可以使用color.php?x=red&y=green或color.php?x=I+like+red+和+green。所需的输出是非常可定制的,可以节省大量时间。再次感谢。