2015-12-01 7 views
0

У меня есть необходимый идентификатор переменной из этого, (есть 1-6 возможных значений):PHP включают заявление, содержащее вторит PHP переменная

$new_product['ID'] =$row[2]; 

Что мне нужно повторить отдельный «PHP-Include» в зависимости на этой переменной, так что-то вроде:

<?php include 'includes/size/prod/echo $row[2].php'; ?> 

, который будет отображаться, включает/размер/прод/1.php, включает/размер/прод/2.php и т.д.

Я не понимаю, как фраза «эхо» внутри php.

+0

Naruto

+0

try include 'includes/size/prod /'.$ row [2] .php –

+0

Возможный дубликат [PHP include с переменной в пути] (http://stackoverflow.com/questions/13076974/php- include-with-a-variable-in-the-path) – Naruto

ответ

0

Есть несколько способов:

//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

Вы можете использовать точки для SEPA рейтинг строку: Так, например:

$path = 'includes/size/prod/'.$row[2].'.php'; 

include '$path'; 

Или вы можете поместить его в переменную:

$path = $row[2]; 
include 'includes/size/prod/$path.php'; 

Php способен оценить переменную внутри строки.

0

Очень опасно включать ваши PHP файлы с этой техникой!
Вы должны предотвратить это делать, по крайней мере контроль включаемые файлы PHP

Теперь, чтобы ответить на ваш вопрос:

<?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

дорогой использовать следующий рабочий код

$row[2]   = ''; 
$file_name  = !empty($row[2])?$row[2]:'default'; 
$include_file = "includes/size/prod/".$file_name.".php"; 
include($include_file); 
0

Вещи получить оценку в двойных котировках, но не в одном:

$var = "rajveer gangwar"; 
echo '$var is musician'; // $s is musician. 
echo "$var is musician."; //rajveer gangwar is musician. 

Поэтому лучше использовать двойные кавычки

Пример:

// Get your dynamic file name in a single variable. 
$file_name  = !empty($row[0]) ? $row[0] : "default_file"; 
$include_file = "includes/size/prod/$file_name.php"; 
include($include_file);