php九宮格日誌

來源:互聯網
上載者:User
根據要求,要在九個表格中寫入文字,標題可以編輯,有天氣、背景、表情可以選擇。最後產生一個圖片,圖片可以分享,結果也可以存入資料庫。github地址:9Diary GitHub
  1. /**
  2. * 添加日誌
  3. * bgid 背景圖片
  4. * title 日誌標題
  5. * 表格標題與內容以'-|*dt*|-'分隔為1、2、3、4、6、7、8、9個表格中的資訊
  6. * 表格5相關:mid_title,emoticons
  7. * 模板id: tempid,待開發
  8. * open: 隱私
  9. */
  10. //dump($_POST);
  11. $bgid = intval(htmlspecialchars($_REQUEST['bgid']));
  12. $title = htmlspecialchars($_POST['title']);
  13. $cnt = str_replace(PHP_EOL, '',$_POST['cnt']);
  14. //標題和內容不可為空
  15. if (!isset($title) || !isset($cnt)){
  16. echo '標題和內容不可為空!';
  17. }
  18. $imgid = intval($_POST['imgId']);
  19. $weatherId = intval($_POST['weatherId']);
  20. $mid_title = htmlspecialchars($_POST['mid_title']);
  21. $cnt_titles = $_POST['cnt_titles'];
  22. $tempId = intval($_POST['tempId']);
  23. $open = intval($_POST['open']);
  24. //寫入圖片
  25. require_once('AppDiary.class.php');
  26. $image = new AppDiary();
  27. $path = dirname(__FILE__);
  28. $backimage = $path.'/images/preview/'.$bgid.'.jpg';
  29. $weatherimg = $path.'/images/weather/'.$weatherId.'.gif';
  30. $emoticons_img = $path.'/images/emoticons/'.$imgid.'.gif';
  31. $contents = explode('-|*dt*|-',$cnt);
  32. $contents_title = explode('-|*dt*|-', $cnt_titles);
  33. $str = array(
  34. array($weatherimg,528,1,61,62),//天氣
  35. array($contents_title[0],35,83,146,28,'cnt'),//表格1 標題
  36. array($contents[0],35,111,160,100,'cnt_titles'),//表格1 內容
  37. array($contents_title[1],222,83,146,28,'cnt'),//表格2 標題
  38. array($contents[1],222,111,160,100,'cnt_titles'),//表格2 內容
  39. array($contents_title[2],407,83,146,28,'cnt'),//表格3 標題
  40. array($contents[2],407,111,160,100,'cnt_titles'),//表格3 內容
  41. array($contents_title[3],35,244,146,28,'cnt'),//表格4 標題
  42. array($contents[3],35,273,160,100,'cnt_titles'),//表格4 內容
  43. array($mid_title,240,235,146,38,'mid_title'),//表格5 標題
  44. array($emoticons_img,261,283,80,80),//表格5 內容
  45. array($contents_title[4],407,244,146,28,'cnt'),//表格6 標題
  46. array($contents[4],407,273,160,100,'cnt_titles'),//表格6 內容
  47. array($contents_title[5],35,409,146,28,'cnt'),//表格7 標題
  48. array($contents[5],35,436,160,100,'cnt_titles'),//表格7 內容
  49. array($contents_title[6],221,409,146,28,'cnt'),//表格8 標題
  50. array($contents[6],221,436,160,100,'cnt_titles'),//表格8 內容
  51. array($contents_title[7],407,409,146,28,'cnt'),//表格9 標題
  52. array($contents[7],407,436,160,100,'cnt_titles'),//表格9 內容
  53. );
  54. //var_dump($str);
  55. $pic = $image->topaste($backimage,$str);
  56. $filename = $path.'/upfile/'.$pic;
  57. //加了一個time()主要為了防止相同的檔案名稱
  58. $newname = $title.'_'.time().strrchr($pic, '.');
  59. $newfile = $path.'/upfile/'.$newname;
  60. //這裡主要用於中文標題
  61. $newfile = iconv( 'UTF-8', 'GB18030', $newfile );
  62. if (file_exists($filename)){
  63. //變更檔名成功
  64. if (rename($filename,$newfile)){
  65. $pic = $newname;
  66. }
  67. echo json_encode(array('info'=>$pic,'status'=>1));
  68. }else{
  69. //組建檔案失敗
  70. echo json_encode(array('info'=>'Error'.$pic,'status'=>0));
  71. }
複製代碼
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.