在客户端系统上的msword中强制打开ms word文件

时间:2017-08-31 08:41:59

标签: php

我有一个msword文件,它位于服务器上。

我想当用户尝试打开时,它将在他的计算机上以msword 直接打开。

<?php
$document ='MyWordDocument.docx';

/**Function to extract text*/
function extracttext($filename) 
{
    //Check for extension
    $ext = end(explode('.', $filename));

    //if its docx file
    if($ext == 'docx')
        $dataFile = "word/document.xml";
    //else it must be odt file
    else
        $dataFile = "content.xml";     

    //Create a new ZIP archive object
    $zip = new ZipArchive;

    // Open the archive file
    if (true === $zip->open($filename)) {
        // If successful, search for the data file in the archive
        if (($index = $zip->locateName($dataFile)) !== false) {
            // Index found! Now read it to a string
            $text = $zip->getFromIndex($index);
            // Load XML from a string
            // Ignore errors and warnings
            $xml = DOMDocument::loadXML($text, LIBXML_NOENT | LIBXML_XINCLUDE | LIBXML_NOERROR | LIBXML_NOWARNING);
            // Remove XML formatting tags and return the text
            return strip_tags($xml->saveXML());
        }
        //Close the archive file
        $zip->close();
    }

    // In case of failure return a message
    return "File not found";
}

echo extracttext($document);

我尝试了上面的代码,但是这段代码在浏览器中读取和显示内容。 我们可以用PHP实现这个吗?

1 个答案:

答案 0 :(得分:0)

您唯一能做的就是将*文件下载到用户计算机中。不可能强迫他也打开文件。为什么?安全

*或显示下载对话框,取决于浏览器和设置。