php将word转换pdf

1 api.php

<?php
header("Content-Type: text/html;charset=utf-8");
/*
 $cmd = ' C:\phpStudy\WWW\word2pdf.wlphp.com\soft\word2pdf.exe     /source      "C:\phpStudy\WWW\word2pdf.wlphp.com\doc\1.doc"       /target  "C:/phpStudy/WWW/word2pdf.wlphp.com/pdf" ';   //根据实际情况修改
 exec($cmd, $out);
*/

//上传文件不能为空
if(empty($_FILES["doc"])){
    echo '{"sta":0,"msg":"请上传.doc文档"}';die;
}

$time1 = microtime_float();
$docname = $_FILES["doc"]["name"];
$arrname = explode(".", $docname);
$pdfname = $arrname['0'] . ".pdf";

//上传文件格式为doc校验
if($arrname['1']!='doc'){
    echo '{"sta":0,"msg":"上传文件格式不对,请上传.doc文档"}';die;
}

$uploaddir="doc/".date("Y-m-d")."/";
mkdirs($uploaddir);
move_uploaded_file($_FILES["doc"]["tmp_name"],  $uploaddir. $docname);
$time2 = microtime_float();

$pdfdir="pdf/".date("Y-m-d");
mkdirs($pdfdir);
$cmd = ' C:\phpStudy\WWW\word2pdf.wlphp.com\soft\word2pdf.exe     /source      "' . dirname(__FILE__) . '\\'.$uploaddir.'\\' . $docname . '"        /target  "' . dirname(__FILE__) . '/'.$pdfdir.'" ';   //根据实际情况修改
exec($cmd, $out);

$time3 = microtime_float();
$docname = iconv("gbk", "utf-8", $docname);
$pdfname = iconv("gbk", "utf-8", $pdfname);
$downloadurl="http://" . $_SERVER['HTTP_HOST'] . "/pdf/" . $pdfname;
echo '{"sta":1,"msg":"ok","url":"'.$downloadurl.'"}';




$uptime = $time2 - $time1;
$changetime = $time3 - $time2;
$content = "时间:" . date("Y-m-d H:i:s") . "  word文件" . $docname . "转换成" . $pdfname . "  上传时间" . $uptime . ",  转化时间" . $changetime."在线预览地址:".$downloadurl."";
$url = "http://tool.wlphp.com/admin.php/Interface/send_message.html?leixing=1&agentid=24&touser=wanglei&content=" . urlencode($content);
file_get_contents($url);
logRes($content);









/*************************************核心函数区域************************************/

/**
 * 文本记录函数
 * @param string $word 输入记录的值
 */
function logRes($word = '')
{
    $logname = "./log/" . date("Ymd") . ".txt";
    $fp = fopen($logname, "a");
    flock($fp, LOCK_EX);
    fwrite($fp, "执行日期:" . strftime("%Y-%m-%d %H:%M:%S", time()) . "\r\n" . $word . "\r\n");
    flock($fp, LOCK_UN);
    fclose($fp);
}

/**
 * @return float
 * 获取当前毫秒级时间戳
 */
function microtime_float()
{
    list($usec, $sec) = explode(" ", microtime());
    return ((float)$usec + (float)$sec);
}


/**
 *
 * php判断文件夹是否存在不存在则创建
 */
function mkdirs($dir, $mode = 0777)
{
    if (is_dir($dir) || @mkdir($dir, $mode)) return TRUE;
    if (!mkdirs(dirname($dir), $mode)) return FALSE;
    return @mkdir($dir, $mode);
}


<?php
header("Content-Type: text/html; charset=UTF-8");
$filename = "2haha.doc";  //上传文件名字 必须是doc不能是docx的
$filename = iconv("utf-8", "gbk", $filename);
$data['doc'] = "@" . dirname(__FILE__) . "/doc/" . $filename;
$url = "http://word2pdf.wlphp.com/api.php";  //接口地址
$content = curlPost($url, $data); //通过curl发送数据到接口
print_r($content);


/**
 * @param $url 发送post请求的url
 * @param $data 发送的数据
 * @return mixed
 */
function curlPost($url, $data)
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0); //Problem (2) in the Chunked-Encoded data
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
    @curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false);  //php5.6.0开始,需要加上这行代码方可上传,否则取不到文件
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $tmpInfo = curl_exec($ch);
    $errorno = curl_errno($ch);

    if ($errorno) {
        $rt['sta'] = "0";
        $rt['msg'] = "curl错误:$errorno";
        return json_encode($rt);
        die;
    }

    return $tmpInfo;
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值