【实例简介】
【实例截图】
【核心代码】
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);
}