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;
}