输出时出现意外的''(T_ENCAPSED_AND_WHITESPACE)

时间:2013-12-05 11:59:09

标签: php html mysql

如果我的问题可能显得很愚蠢,我很抱歉,但是我真的很困惑我从数组中输出文件名时遇到的错误。

首先,我使用数据库中的列名填充数组。这是代码:

    $AddNews = "SELECT * FROM picture_names";
$result = mysql_query( $AddNews, $IVE_Connection ) or die('ERROR: '.mysql_error());
for($i = 0; $i < mysql_num_fields($result); $i++){
    $field_info = mysql_fetch_field($result, $i);
    $name_array[] = $field_info->name;
}

    for($i = 0; $i < sizeof($name_array); $i++){
    echo "<input type='file' name='".$name_array[$i]."'    id='".$name_array[$i]."' value=''>";
    echo "</span><br />";
    echo "</div>";
}

那个阶段没有问题。但是当我努力的时候。我可以正常输出。当我尝试使用相同的数组打印条件时,问题就出现了:

for($i = 0; $i < sizeof($name_array); $i++){
echo "if($_FILES['".$name_array[$i]."']['tmp_name'] != ''){";// the problem ocures here
   ...some code here
echo "}";
}

这里我总是有一个错误unexpected '' (T_ENCAPSED_AND_WHITESPACE) Itried将其字符串化,但仍然有相同的错误。如果只输出$_FILES逻辑之外的数组,则没有问题。

如果有人能指出我做错了什么,我将不胜感激。

2 个答案:

答案 0 :(得分:1)

试试这个

for($i = 0; $i < sizeof($name_array); $i++){

  if(isset($_FILES[$name_array[$i]]['tmp_name'])){
      //your code
  }
}

答案 1 :(得分:0)

这不是正确的代码:

for($i = 0; $i < sizeof($name_array); $i++){
echo "if($_FILES['".$name_array[$i]."']['tmp_name'] != ''){";// the problem ocures here
   ...some code here
echo "}";
}

只需从代码中删除回声

即可
for($i = 0; $i < sizeof($name_array); $i++){
  if($_FILES[$name_array[$i]]['tmp_name'] != ''){
     echo "Text";
  };
}
相关问题