首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >包含回显PHP变量的PHP include语句

包含回显PHP变量的PHP include语句
EN

Stack Overflow用户
提问于 2015-12-01 18:36:35
回答 5查看 79关注 0票数 0

我从这里得到了所需的ID变量(可能有1-6个值):

代码语言:javascript
复制
$new_product['ID'] =$row[2];

我需要的是根据这个变量回显一个单独的'php-include‘,比如:

代码语言:javascript
复制
<?php include 'includes/size/prod/echo $row[2].php'; ?>

其中包括/size/prod/1.php、includes/size/prod/2.php等

我不知道如何表达php中的“回声”。

EN

回答 5

Stack Overflow用户

发布于 2015-12-01 18:40:57

有几种方法:

代码语言:javascript
复制
//Concatenate array value in double quotes:
<?php include "includes/size/prod/{$row[2]}.php"; ?>

//Concatenate array value outside of quotes:
<?php include "includes/size/prod/".$row[2].".php"; ?>
//or, using single quotes:
<?php include 'includes/size/prod/'.$row[2].'.php'; ?>

//Concatenate variable (not array value) in double quotes:
<?php $page = $row[2]; include "includes/size/prod/$page.php"; ?>

请参见:

票数 0
EN

Stack Overflow用户

发布于 2015-12-01 18:52:59

用这种技术包含你的PHP文件是非常危险的!!

您必须通过至少控制PHP包含的文件来防止这种情况发生

现在回答你的问题:

代码语言:javascript
复制
<?php 
// ? $row2 contains more than 1 php file to include ?
//   they are seperated by comma ?

$phpToInclude = NULL;
define(TEMPLATE_INCLUDE, 'includes/size/prod/');

if (isset($row[2])) {
    $phpToInclude = explode($row[2], ',');
}

if (!is_null($phpToInclude)) {
    foreach($phpToInclude as $f) {
        $include = sprintf(TEMPLATE_INCLUDE . '%s', $f);
        if (is_file($include)) {
            // add validator here !!
            include ($include);
        }
        else {
            // file not exist, log your error
        }
    }
}

?>
票数 0
EN

Stack Overflow用户

发布于 2015-12-01 19:01:40

敬请使用以下工作代码

代码语言:javascript
复制
$row[2]         =   '';
$file_name      =   !empty($row[2])?$row[2]:'default';
$include_file   =  "includes/size/prod/".$file_name.".php";
include($include_file);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34018262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档