php 上传word

<?php
Include "getDocx.class.php" ;
include ("../include/config.php");


// include_once './upload.php';


$filename = $_FILES['file']['name'];
//获取文件临时路径
$temp_name = $_FILES['file']['tmp_name'];
//获取大小
$size = $_FILES['file']['size'];
//获取文件上传码,0代表文件上传成功
$error = $_FILES['file']['error'];
//判断文件大小是否超过设置的最大上传限制
if ($size > 100*1024*1024){
    //
    jsoncode(0,'文件大小超过2M大小');
    echo "<script>alert('文件大小超过2M大小');window.history.go(-1);</script>";
    exit();
}
//phpinfo函数会以数组的形式返回关于文件路径的信息
//[dirname]:目录路径[basename]:文件名[extension]:文件后缀名[filename]:不包含后缀的文件名
$arr = pathinfo($filename);


//获取文件的后缀名
$ext_suffix = $arr['extension'];
//设置允许上传文件的后缀
$allow_suffix = array('word','docx');
//判断上传的文件是否在允许的范围内(后缀)==>白名单判断
if(!in_array($ext_suffix, $allow_suffix)){
    //window.history.go(-1)表示返回上一页并刷新页面

    jsoncode(0,'上传的文件类型只能是word,docx');
    echo "<script>alert('上传的文件类型只能是word,docx');window.history.go(-1);</script>";
    exit();
}
//检测存放上传文件的路径是否存在,如果不存在则新建目录
if (!file_exists('uploads')){
    mkdir('uploads');
}
//为上传的文件新起一个名字,保证更加安全
$new_filename = date('YmdHis',time()).rand(100,1000).'.'.$ext_suffix;
//将文件从临时路径移动到磁盘
$new_filename = './uploads/'.$new_filename;


if (move_uploaded_file($temp_name,$new_filename )){
    $text = new GetDocx();
// 加载docx文件
    $text->setDocx($new_filename,'../img/');
// 将内容存入$docx变量中
    $docx = $text->extract();
    //$docx= str_replace("\n","<br/>",$docx);
    $docx= explode("\n",$docx);
    $str = '';
    foreach ($docx as $key=>$val){
        if(strlen($val) >1){
            $str.="<p>$val</p>";
        }
    }
// 调试输出
    jsoncode(1,$str,$arr["filename"]);
//    echo "<script>alert('文件上传成功!');window.history.go(-1);</script>";
}else{
    jsoncode(0,"文件上传失败,错误码$error");
//    echo "<script>alert('文件上传失败,错误码:$error');</script>";
}

//header("Content-type:text/html;charset=utf-8");
//// 实例化
//$text = new GetDocx();
//// 加载docx文件
//$text->setDocx($new_filename,'img/');
//// 将内容存入$docx变量中
//$docx = $text->extract();
//// 调试输出
////echo json_encode(array("mes"=>$docx));
function jsoncode($status= 1,$mes='',$name=''){
    echo json_encode(array("status"=>$status,'mes'=>$mes,'name'=>$name));

    exit;

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章