【问题标题】:PHP new COM("word.application") SaveAS causes "Disk is Full" ErrorPHP new COM("word.application") SaveAS 导致“磁盘已满”错误
【发布时间】:2010-11-06 05:54:56
【问题描述】:

我在 Windows XP 的 XAMPP 上运行了一个 PHP 脚本,它将打开一个 .doc 文件,然后将其另存为不同的副本。这在早些时候运行良好,但不知从何而来的错误消息不断出现。

$path = "c:/xampp/htdocs/";
com_load_typelib('Word.Application');
$word = new COM("word.application") or die("Unable to instantiate Word");

$word->Documents->Open($path."tmp/invoice.doc");

$bookmarkname = "InvoiceNo";
$objBookmark  = $word->ActiveDocument->Bookmarks($bookmarkname)->Range->Text = "INVOICE ID";

$word->Documents[1]->SaveAs($path."tmp/invoice2.doc");
$word->ActiveDocument->Close(false);
$word->Quit();
$word = null;

我觉得代码不是问题,因为它在几个小时前工作,但现在不是。我怀疑这与我的 Word 2003 有关,可能是某些原因导致它出错。

我已尝试按照 Microsoft 网站上的说明重新启动、清除临时文件夹。

我仍然可以使用 file_put_contents 写入文件夹,所以如果我可以从 $word->Documents[1] 中提取原始数据,那么我可以使用 file_put_contents 来保存它,而不是使用 Word 的保存功能。问题是这方面的文档记录很差,所以我找不到可用的功能列表。

【问题讨论】:

  • 什么是 $path?可能是网络共享发生了故障,还是您无法控制并失去了写入权限?
  • 对不起,那在我的配置文件里。我现在已经编辑了文件

标签: php windows com ms-word


【解决方案1】:

看来我自己解决了这个问题。

我已经将它保存在一个 RTF 中,然后使用这个类将它转换回 .doc 格式,似乎需要更长的时间但已经解决了问题,感谢上帝。

链接:http://www.phpclasses.org/browse/file/1256.html

感谢大家的关注。 杰米

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-06
    • 1970-01-01
    • 1970-01-01
    • 2020-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-18
    相关资源
    最近更新 更多