Trouble editing Word document with PHP

Posted by bhoomi-nature on Stack Overflow See other posts from Stack Overflow or by bhoomi-nature
Published on 2010-05-19T06:05:20Z Indexed on 2010/05/19 6:30 UTC
Read the original article Hit count: 184

Filed under:
  1. I want to open a word document and edit it
  2. I am opening the word document from the server and at that time it's opening with garbage values (perhaps it's not being properly converted to UTF-8).
  3. When I delete those garbage values and insert something from a textarea to that file it is going to insert and from then on it opens properly.
  4. I would like the document to open with the English words in the document instead of garbage value - it's only the first opening that's broken at present.
<?

$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);
}
?>

© Stack Overflow or respective owner

Related posts about php