用PHP编辑Word文档时遇到问题

时间:2010-05-19 06:05:20

标签: php

  1. 我想打开一个word文档并对其进行编辑
  2. 我从服务器打开word文档,当时打开垃圾值(可能没有正确转换为UTF-8)。
  3. 当我删除这些垃圾值并从textarea中插入某个文件时,它将插入并从那时开始正确打开。
  4. 我希望用文档中的英文单词打开文档而不是垃圾值 - 这只是目前打破的第一个开头。
  5. <?
    
    $filename = 'test.doc';
    
    if(isset($_REQUEST['Submit'])){
        $somecontent = stripslashes($_POST['somecontent']);
        // Let's make sure the file exists and is writable first.
        if (is_writable($filename)) {
    
            // In our example we're opening $filename in append mode.
            // The file pointer is at the bottom of the file hence
            // that's where $somecontent will go when we fwrite() it.
            if (!$handle = fopen($filename, 'w')) {
                echo "Cannot open file ($filename)";
                exit;
            }
    
            // Write $somecontent to our opened fi<form action="" method="get"></form>le.
            if (fwrite($handle, $somecontent) === FALSE) {
                echo "Cannot write to file ($filename)";
                exit;
            }
    
            echo "Success, wrote ($somecontent) to file ($filename) <a href=".$_SERVER['PHP_SELF']."> - Continue - ";
    
            fclose($handle);
    
        } else {
            echo "The file $filename is not writable";
        }
    } else {
        // get contents of a file into a string
    
        $handle = fopen($filename, 'r');
    
        $somecontent = fread($handle, filesize($filename));
    
    
        ?>
    <h1>Edit file <? echo $filename ;?></h1>
    <form name="form1" method="post" action="">
    <p>
    <textarea name="somecontent" cols="80" rows="10"><? echo $somecontent ;?></textarea>
    </p>
    <p>
    <input type="submit" name="Submit" value="Submit">
    </p>
    </form>
    
    <?
        fclose($handle);
    }
    ?>
    

2 个答案:

答案 0 :(得分:4)

Word文档不仅仅是一个文本文件,因此您不能像写入文本文件那样写入文档。

您还可以查看codeplex上的PHPWord项目,它是一个用于在纯PHP中编写word文档的库,不需要COM,尽管目前它只支持创建新的word文档。

答案 1 :(得分:2)

Word文档不能像文本文件那样简单地打开。

您可以查看文章:Extracting text from Word Documents via PHP and COM by Akash Mehta