在线文库,貌似可以!


话说如果有点问题欢迎在下面吐槽
发编程技术没经验,欢迎在下面拍砖
总之欢迎在下面给点面子留留言


不要认为本文只能应用于文库之类的。事实上本文中的部分代码还可以应用于需要隐藏真实目录或目标资源目录不在web文件夹下的文件(图片,附件……)


好吧,最近又研究起了怎么去做一个在线文档分享的网站。(事实上是为了收集些技术文档方便分享)

打定主意后,就一直在研究怎么来实现文档在线读取。全部保存为TXT?不科学!这样图片怎么往里面整?所以我就开始纠结于文档查看器怎么实现(其实我自己应该也可以做一个的,不过中学生党累啊,没时间做啊!)。

后来在网上走了一遍,发现有一个不错的工具——Google Doc Viewer。它好在哪里呢?他就是提供了一个不错的文档在线预览。 【传送】

1.jpg

好,得到这个工具就可以开始开发了。首先先做一个取得文档的页面(不然上传上来的太多太乱了)。

<?php
    $thisfloder="Z:/doc";
    $id=$_GET['id'];
    $resulta=mysql_fetch_object(mysql_query("select * from files where `fid` = ".$id));
    $doc_file=$resulta->filewhere;
    $position=strrpos($doc_file,".");
    $suffix=substr($doc_file,$position+1,strlen($doc_file-$position));
    $sTmpVar = fread(fopen($thisfloder.$doc_file, 'r'), filesize($thisfloder.$doc_file));
    header("Content-type: application/msword ");
    header("Content-Disposition:filename=doc.".$suffix." ");
    echo $sTmpVar;
?>

上面的差不多就是我写的一个取得文档的php代码

上传文件和列表我就不讲了,因为它们太简单了,作为一个developer是肯定会做的。

接下来就是嵌套我们可爱的Google Doc Viewer

这个话说也很简单,首先一样先取得文档的内部ID

<?php
    $file=$_GET['id'];
    if($file==""){
    header('Location: list.php');
    exit();
    }
?>

如果没有复制就跳到列表页面。

接下来的HTML代码则是更简单了,通过GDV上的生成得到的,它也是核心。

<iframe src="http://docs.google.com/viewer?url=http%3A%2F%2Fwww2.lohu.info%2FDocs%2Fgetdoc.php%3Fid%3D1&embedded=true" width="95%" height="68%" style="border: none;"></iframe>

不过直接生成的还是默认id是1的,我们只要稍微改造一下就可以使我们的doc页面动态化。

<iframe src="http://docs.google.com/viewer?url=http%3A%2F%2Fwww2.lohu.info%2FDocs%2Fgetdoc.php%3Fid%3D<?php echo $file;?>&embedded=true" width="95%" height="68%" style="border: none;"></iframe>

这样就差不多啦!再看看效果,嗯,不错不错!

2.jpg


协议: 本文根据 Creative Commons Attribution-NonCommercial-ShareAlike 4.0 License 进行授权。

标签: php google api


撰写新评论

account_circle
mail
insert_link
mode_comment