日期:2014-05-17  浏览次数:20429 次

js中套php,js退出php的foreach退不出来
如题,代码如下:(红色部分退不出来)

<script language="JavaScript" type="text/JavaScript">
function curnid (id){

var name="";
var f="";

// var folderspec="hello"+id;

alert("hello");

<?php

//*****************************************************************// 
//函数名:myreaddir($dir) 
//作用:读取目录所有的文件名 
//参数:$dir 目录地址 
//返回值:文件名数组 
//*****************************************************************// 
function myreaddir1($dir1)  

$handle1=opendir($dir1); 
$i=0; 
while($file1=readdir($handle1)) { 
if((strstr($file1, ".")==FALSE) && (strstr($file1, "..")==FALSE))  

?>f+="<? echo $file1;?>";<?
$list1[$i]=$file1; 
$i=$i+1; 


closedir($handle1); 
sort($list1);
return $list1; 


$file_c=file("/etc/control.conf/node.conf");
foreach($file_c as $line)
{
list($n_id,$n_name)=sscanf($line,"%u %s");
// $nodes[$n_id]=$n_name;
?>
nid=<?php echo $n_id;?>;

if(id==nid){
<? break; ?>
alert("==");
// break;
}
<?php
}

$dir="/home/control/data/".$n_name."/sys_log/";
if(!is_dir($dir))
{
?>alert("目录不存在!"); window.location='delete_syslog.php';<?
}
$file_list=myreaddir1($dir);
$fnum=count($file_list);
?>

fnum1=<?php echo $fnum;?>;




// var folderspec="hello"+nid;
var folderspec="hello"+id+nid+"<?php echo $dir;?>";

alert(folderspec);
// document.getElementById("num").value=1;

}



 
 
</script>

------解决方案--------------------
楼主理解有问题。服务器端只认识PHP代码,它“看到”的只是PHP代码而已,只负责运行PHP代码,以下面这个片段为例:
nid=<?php echo $n_id;?>;
if(id==nid){
<? break; ?>
alert("==");
服务器只能“看到”下面两行代码:
PHP code
echo $n_id;
break;