根據要求,要在九個表格中寫入文字,標題可以編輯,有天氣、背景、表情可以選擇。最後產生一個圖片,圖片可以分享,結果也可以存入資料庫。github地址:9Diary GitHub
- /**
- * 添加日誌
- * bgid 背景圖片
- * title 日誌標題
- * 表格標題與內容以'-|*dt*|-'分隔為1、2、3、4、6、7、8、9個表格中的資訊
- * 表格5相關:mid_title,emoticons
- * 模板id: tempid,待開發
- * open: 隱私
- */
- //dump($_POST);
- $bgid = intval(htmlspecialchars($_REQUEST['bgid']));
- $title = htmlspecialchars($_POST['title']);
- $cnt = str_replace(PHP_EOL, '',$_POST['cnt']);
- //標題和內容不可為空
- if (!isset($title) || !isset($cnt)){
- echo '標題和內容不可為空!';
- }
- $imgid = intval($_POST['imgId']);
- $weatherId = intval($_POST['weatherId']);
- $mid_title = htmlspecialchars($_POST['mid_title']);
- $cnt_titles = $_POST['cnt_titles'];
- $tempId = intval($_POST['tempId']);
- $open = intval($_POST['open']);
- //寫入圖片
- require_once('AppDiary.class.php');
- $image = new AppDiary();
- $path = dirname(__FILE__);
- $backimage = $path.'/images/preview/'.$bgid.'.jpg';
- $weatherimg = $path.'/images/weather/'.$weatherId.'.gif';
- $emoticons_img = $path.'/images/emoticons/'.$imgid.'.gif';
- $contents = explode('-|*dt*|-',$cnt);
- $contents_title = explode('-|*dt*|-', $cnt_titles);
- $str = array(
- array($weatherimg,528,1,61,62),//天氣
- array($contents_title[0],35,83,146,28,'cnt'),//表格1 標題
- array($contents[0],35,111,160,100,'cnt_titles'),//表格1 內容
- array($contents_title[1],222,83,146,28,'cnt'),//表格2 標題
- array($contents[1],222,111,160,100,'cnt_titles'),//表格2 內容
- array($contents_title[2],407,83,146,28,'cnt'),//表格3 標題
- array($contents[2],407,111,160,100,'cnt_titles'),//表格3 內容
- array($contents_title[3],35,244,146,28,'cnt'),//表格4 標題
- array($contents[3],35,273,160,100,'cnt_titles'),//表格4 內容
- array($mid_title,240,235,146,38,'mid_title'),//表格5 標題
- array($emoticons_img,261,283,80,80),//表格5 內容
- array($contents_title[4],407,244,146,28,'cnt'),//表格6 標題
- array($contents[4],407,273,160,100,'cnt_titles'),//表格6 內容
- array($contents_title[5],35,409,146,28,'cnt'),//表格7 標題
- array($contents[5],35,436,160,100,'cnt_titles'),//表格7 內容
- array($contents_title[6],221,409,146,28,'cnt'),//表格8 標題
- array($contents[6],221,436,160,100,'cnt_titles'),//表格8 內容
- array($contents_title[7],407,409,146,28,'cnt'),//表格9 標題
- array($contents[7],407,436,160,100,'cnt_titles'),//表格9 內容
- );
- //var_dump($str);
- $pic = $image->topaste($backimage,$str);
- $filename = $path.'/upfile/'.$pic;
- //加了一個time()主要為了防止相同的檔案名稱
- $newname = $title.'_'.time().strrchr($pic, '.');
- $newfile = $path.'/upfile/'.$newname;
- //這裡主要用於中文標題
- $newfile = iconv( 'UTF-8', 'GB18030', $newfile );
- if (file_exists($filename)){
- //變更檔名成功
- if (rename($filename,$newfile)){
- $pic = $newname;
- }
- echo json_encode(array('info'=>$pic,'status'=>1));
- }else{
- //組建檔案失敗
- echo json_encode(array('info'=>'Error'.$pic,'status'=>0));
- }
複製代碼 |