我们可以在网站上显示上传文件的内容吗?

时间:2015-06-30 12:47:29

标签: php

我的问题是我正在上传一个文件(.pdf / .doc)并将其保存在一个文件夹中,并使用php将文件的路径存储在mysql中。

在下一个表单中,我想使用php显示上传文件的内容。

1 个答案:

答案 0 :(得分:1)

是的,你可以那样做

特别是如果你想在浏览器中显示pdf,你需要这样的东西。

<?php
 $file = 'path/to/PDF/file.pdf';
 $filename = 'filename.pdf';
 header('Content-type: application/pdf');
 header('Content-Disposition: inline; filename="' . $filename . '"');
 header('Content-Transfer-Encoding: binary');
 header('Accept-Ranges: bytes');
@readfile($file);
?>  

对于word文件,你需要做一些工作

   function readDocs($filename){

            $striped_content = '';
            $content = '';

            if(!$filename || !file_exists($filename)) return false;

            $zip = zip_open($filename);

            if (!$zip || is_numeric($zip)) return false;

            while ($zip_entry = zip_read($zip)) {

                if (zip_entry_open($zip, $zip_entry) == FALSE) continue;

                if (zip_entry_name($zip_entry) != "word/document.xml") continue;

                $content .= zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));

                zip_entry_close($zip_entry);
            }// end while

            zip_close($zip);


            $content = str_replace('</w:r></w:p></w:tc><w:tc>', " ", $content);
            $content = str_replace('</w:r></w:p>', "\r\n", $content);
            $striped_content = strip_tags($content);

            return $striped_content;
        }

        // using function to finally get contents
        $content = readDocs("path/to/the/file");
        if($content !== false) {

            echo nl2br($content);
        }
        else {
            echo "File Not Found";
        }