<?php
$zouye1  = array("1.doc","11.doc");//第一题题库
$zouye2  = array("2.doc","22.doc");//第二题题库
$name = array(" 200911621201 .doc"," 200911621202 .doc"," 200911621203 .doc"," 200911621204 .doc"," 200911621205 .doc"," 200911621206 .doc"," 200911621207.doc"," 200911621209 .doc"," 200911621210 .doc"," 200911621211 .doc"," 200911621212.doc"," 200911621213 .doc"," 200911621214 .doc"," 200911621215 .doc","1092 200911621216 .doc"," 200911621217 .doc"," 200911621218 .doc"," 200911621219 .doc"," 200911621220 .doc"," 200911621221 .doc"," 200911621222 .doc"," 200911621223 .doc"," 200911621224 .doc","2 200911621225 .doc","200911621226.doc","2 200911621227 .doc"," 200911621228 .doc"," 200911621229 .doc","1092 200911621230 .doc"," 200911621231 .doc"," 200911621232 .doc"," 200911621233 .doc"," 200911621235 .doc");
         
for($i = 0;$i<33;$i++){
$oldName1 = array_rand($zouye1);
        $oldName2 = array_rand($zouye2);
     $handle3 = fopen("$name[$i]","a+");
$handle1 = fopen("$zouye1[$oldName1]","r");
$handle2 = fopen("$zouye2[$oldName2]","r");

$myFileContent1 = fread($handle1, filesize("$zouye1[$oldName1]"));                 fputs($handle3,$myFileContent1);//把第一题题库随机取的文件写进文件

                        $myFileContent2 = fread($handle2, filesize("$zouye2[$oldName2]"));       
               fputs($handle3,$myFileContent2);//把第二题题库随机取的文件写进文件
                fclose($handle3);    
                   fclose($handle1);
  fclose($handle2);                
}
        
   ?>          
为什么第一题的题库能写进去,而第二题 的题库写不进去 啊?
        

解决方案 »

  1.   

    报什么错误信息啊?在第二次调用fputs()前加一行error_reporting(E_ALL);,输出错误信息。
      

  2.   

    懂了你操作的都是WORD文档啊,不是简单的纯文本文件,而是有复杂格式的二进制文件,怎么能简单地将一个文件追加到另一个后面呢。。
      

  3.   


    //注意: 为移植性考虑,强烈建议在用 fopen() 打开文件时总是使用 'b' 标记。
    //$name[$i]本身就是字符串
    $handle3 = fopen($name[$i],"ab");
    $handle1 = fopen($zouye1[$oldName1],"rb");
    $handle2 = fopen($zouye2[$oldName2],"rb");