解决方案 »

  1.   

    $error在php打印是个什么东东看下不就知道了嘛
      

  2.   

    $error是从输出文件中捕获错误信息,然后通过对话框的形式显示给用户看这段程序里能够正确获得$error的值,但是alert却无法弹出对话框
      

  3.   

    我这边就是出不来……function里的返回值是类似于substr吗?如果是直接返回字符串的话,是能够弹出来的
      

  4.   

    $error = check($out);
    echo $error; 是什么结果
      

  5.   

    把你的out.txt发来看看
    我的out.txt是这样的
      

  6.   


    我似乎找到点原因了
    如果文件只有一行或者最后一行是“#ERROR   abc”的话,能够正常弹出,但是如果后面还有别的信息,我的程序就不行了
      

  7.   

    function check($out) {
      $file_handle = fopen($out, 'r');
      while (!feof($file_handle)) {
        $line = fgets($file_handle);
        if (substr($line, 0, 6) == "#ERROR") {
          return preg_replace("/\s/","",substr($line, 8));//去掉换行
        }
      }
      fclose($file_handle);
    }$out = "out.txt";
    $error = check($out);
    if ($error != "") {
      echo "<script>alert(\"$error\");</script>";
      exit;
    }
    取出一行存在换行问题 把换行去掉就行了
      

  8.   

    我知道怎么改了,但是不知道为什么……把所需要的字符串完全截出来就行了,比如“return substr($line, 8, 5)”,此时就能正常弹出了,是不是当不是最后一行时,substr会把一行末尾的换行符也取得,而alert无法处理……