2009-06-26 2 views
0

Windows XP에서 XAMPP에서 실행중인 PHP 스크립트를 사용하여 .doc 파일을 열고 다른 복사본으로 저장합니다. 이전에는 문제가 없었지만 오류 메시지가 계속 나타납니다.PHP 새 COM ("word.application") SaveAS가 "디스크가 꽉 찼습니다."라는 오류가 발생합니다.

$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과 관련이 있다고 의심한다. 아마 somethings가 버그를 일으켰다.

Microsoft 웹 사이트에서 설명한대로 임시 폴더를 지우고 재부팅을 시도했습니다.

file_put_contents를 사용하여 폴더에 쓸 수 있기 때문에 $ word-> Documents [1]에서 원시 데이터를 추출 할 수 있으면 MAYBE을 사용하여 file_put_contents를 사용하여 Word의 저장 기능을 사용하지 않고 저장할 수 있습니다. 문제는 이것이 문서화가 잘되어 있지 않아서 내가 할 수있는 가용 함수 목록을 찾을 수 없다는 것입니다.

+0

$ 경로 란 무엇입니까? 아마도 네트워크 공유가 작동 중이거나 제어 권한이없고 쓰기 권한을 잃어 버렸습니까? –

+0

죄송합니다. 설정 파일에 있습니다. 지금 파일을 편집했습니다. –

답변

3

본인 스스로 문제를 해결 한 것으로 보입니다.

RTF로 저장 한 다음이 클래스를 사용하여 .doc 형식으로 변환 한 후 더 오래 걸릴 것으로 보이지만 문제가 해결되었습니다. 감사합니다.

링크 : 어쨌든 찾고에 대한 http://www.phpclasses.org/browse/file/1256.html

감사합니다 여러분. Jamie

관련 문제