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;

}

 

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