-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathsaveData.php
More file actions
executable file
·100 lines (75 loc) · 2.92 KB
/
saveData.php
File metadata and controls
executable file
·100 lines (75 loc) · 2.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<?php
/*
smartMapping saveData.php
*Copyright (c) 2015 makabe, tomo, mkbtm1968@gmail.com, http://mkbtm.jp/
*Licensed under the MIT license
*/
date_default_timezone_set('Asia/Tokyo');//タイムゾーンの設定
//文字コードの設定
mb_language("Japanese");
mb_internal_encoding("UTF-8");
//レスポンスのjson格納用
$respose = [];
//canvasデータがPOSTで送信されてきた場合
$canvas = $_POST["acceptImage"];
//投稿のタイトル
$title = htmlspecialchars($_POST["title"]);
$name = htmlspecialchars($_POST["name"]);
$category = htmlspecialchars($_POST["category"]);
$abstruct = htmlspecialchars($_POST["abstruct"]);
$latitude = htmlspecialchars($_POST["latitude"]);
$longitude = htmlspecialchars($_POST["longitude"]);
$respose["title"] = $title;
$respose["name"] = $name;
$respose["category"] = $category;
$respose["abstruct"] = $abstruct;
$respose["latitude"] = $latitude;
$respose["longitude"]= $longitude;
//abstructの改行をとる
$abstruct = str_replace(array("\r\n", "\r", "\n"), '', $abstruct);
//ヘッダに「data:image/png;base64,」が付いているので、それは外す
$canvas = preg_replace("/data:[^,]+,/i","",$canvas);
//残りのデータはbase64エンコードされているので、デコードする
$canvas = base64_decode($canvas);
//まだ文字列の状態なので、画像リソース化
$image = imagecreatefromstring($canvas);
//画像保存場所(属性を書き込み可にしておくこと)
$dir = "data/photo/";
//画像ファイルに名前を付ける
$image_name = date('Y-m-d-His'). '-'. $_SERVER['REMOTE_ADDR'] . '.jpg';
//投稿日時の取得
$dateString = date('Y:m:d:H:i:s');
//$handle = fopen($image_name, "w");//追記モードでファイルを開く
//画像として保存(ディレクトリは任意)
//imagesavealpha($image, TRUE); // 透明色の有効
imagejpeg($image , $dir . $image_name);
// $handle
//ファイルへの出力
$handle = fopen("./data/data.txt", "a");//追記モードでファイルを開く
@flock($handle,LOCK_EX); // 排他ロックをかける
fwrite($handle, $latitude . ",");
fwrite($handle, $longitude . ",");
fwrite($handle, $dateString . ",");
fwrite($handle, $title . ",");
fwrite($handle, $name . ",");
fwrite($handle, $abstruct . ",");
fwrite($handle, $category. "," );
fwrite($handle, $image_name );
fwrite($handle, "\n");
fclose($handle);
//バックアップ用に個別ファイルで保存する。ファイル名は$image_nameと同じ。
$bkupFile = "./data/uploadText/" . $image_name . ".txt";
$bkup = fopen($bkupFile, "c");//書き込みモードでファイルを開く
fwrite($bkup, $latitude . ",");
fwrite($bkup, $longitude . ",");
fwrite($bkup, $dateString . ",");
fwrite($bkup, $title . ",");
fwrite($bkup, $name . ",");
fwrite($bkup, $abstruct . ",");
fwrite($bkup, $category. "," );
fwrite($bkup, $image_name );
fwrite($bkup, "\n");
fclose($bkup);
$respose["status"] = "success";
echo json_encode($respose);
exit(0);