ここの情報は古いです。ご理解頂いた上でお取り扱いください。

source: NEKOGET_PNESKIN/trunk/index.php @ 856

Last change on this file since 856 was 856, checked in by nekoget, 14 years ago

main.phpの読み込みのパスを相対パスに変更

File size: 12.3 KB
Line 
1<?php
2//////////////////////////////////////////////////////////////////////////////////////////
3//  indexphp  2006.11.04 16:45  #UTF-8
4//////////////////////////////////////////////////////////////////////////////////////////
5
6include('inc/main.php');//メインファイル
7global $smarty,$err;
8
9
10$post_ed = Post_edit3($_POST);
11if($_GET){$post_ed = Post_edit3($_GET);}
12
13        //フォーム img_form
14        if(!$post_ed['work']){ img_form($mss); exit();}
15        //画像処理 img_do
16        elseif($post_ed['work'] == "img_do"){ img_do(); exit();}
17        //エラー処理
18        else{err("不正なアクセスが発生しました"); exit();}
19
20exit();
21
22
23//------------------------------------------------------------------
24function img_form($mss){
25global $smarty,$err;
26
27        //自動消去部分(現在30分で設定)別フォルダで、cronで実行するのが望ましいとは思います------------------------
28       
29        $img_d= HP_DIR . "data/";
30        //ファイルの中を捜索
31        $ima = time(); 
32        $sa_max = 60 * 30;//30分
33       
34       
35        if (!($dir = opendir("$img_d"))) {die;}
36       
37        while ($fnm = readdir($dir)) {
38    //ファイルの作成時間の取得
39        $f_time = filectime($img_d.$fnm);
40       
41                $sa = $ima - $f_time;//ファイル作成からの時間経過
42               
43                if($sa > $sa_max && $fnm != "." && $fnm != ".."){ 
44                       
45                        //該当フォルダの中身を削除
46                                                        $img_d2 = $img_d.$fnm;
47                                                        if (!($dir2 = opendir("$img_d2"))) {die;}
48                               
49                                                        while ($fnm2 = readdir($dir2)) {
50                                                        //ファイルの作成時間の取得
51                                                        if( $fnm2 != "." && $fnm2 != ".."){ unlink ($img_d.$fnm."/".$fnm2); }
52                                                        }
53                //該当フォルダ自体を削除
54                 rmdir($img_d.$fnm);
55       
56        }
57       
58  }
59  closedir($dir);
60  //自動消去部分(現在30分で設定)ここまで----------------------------------------------------------------
61       
62        //フォーム画面にサルネイム(ログイン部分表示させちゃうかなってことで臨時)-----------------------------
63        $create_data_topic="";
64        if (!($dir = opendir("$img_d"))) {die;}
65       
66        while ($fnm = readdir($dir)) {
67    //ファイルの作成時間の取得
68               
69               
70                if($fnm != "." && $fnm != ".."){ 
71                $create_data_topic = $create_data_topic . "<a href='".HP_URL."data/".$fnm."/' target='_blank'><img src='".HP_URL."data/".$fnm."/skin_login.jpg"."' width=200  border=0 /></a> ";
72                if($i == 2){    $create_data_topic = $create_data_topic . "<br /><br /><hr>"."\n"; $i = 1;}else{ $i++;} 
73                }
74       
75  }
76  closedir($dir);
77 
78        if($create_data_topic){ $create_data_topic="<hr><br /><h3>ご利用いただいた方の作品です</h3>\n".$create_data_topic;}
79         //フォーム画面にサルネイム ここまで-------------------------------------------------------------------------
80         
81                $imgtmp_d = HP_DIR."/img_templates/";
82                //イメージのテーマ選択部分----------------------------------------------------------------------------------
83                $img_select = "";
84                $con = 1;
85                if (!($dir = opendir("$imgtmp_d"))) {die;}
86               
87                while ($fnm = readdir($dir)) {
88        if($fnm != "." && $fnm != ".."){ 
89                                                                        if($con == 1){$checked = "checked";}else{$checked = "";}
90                                                                        $img_select = $img_select . "<td><img src='".HP_URL."img_templates/".$fnm."/shot.jpg"."' width=140   border=0 /><br />".$fnm.
91                                                                        "<br /><input name='img_select' type='radio' value='".$fnm."' checked='".$checked."' /></td>"."\n";
92                $con=0;
93                }
94       
95                }
96                 closedir($dir);
97                if($img_select){ $img_select = "<table id='img_select' align='center'><tr>".$img_select."</tr></table>"."\n";}
98       
99                //イメージのテーマ選択部分 ここまで-----------------------------------------------------------------------
100         
101        //表示
102        $smarty->assign('img_select',$img_select);
103        $smarty->assign('create_data_topic',$create_data_topic);
104        $smarty->display(HP_DIR.'templates/TMP_index.html');
105
106exit();
107}
108
109
110////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
111//
112////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
113
114function img_do(){
115global $smarty,$err;
116//時間の取得
117$filetime = time();
118//ロゴ画像の確認
119
120if ($_FILES['file_login']['error'] == 0) {
121
122                                $kakucyou=$_FILES['file_login']['type'];
123                                if(strpos($kakucyou,"jpeg")>0){$kakucyou="jpg";}
124                                elseif(strpos($kakucyou,"jpg")>0){$kakucyou="jpg";}
125               
126                               
127                                if($kakucyou != "jpg"){ err("JPG以外は投稿できません"); exit();}
128                                if ($_FILES['file_login']['size'] > 307200){err("画像が大きすぎます"); exit();}
129                                if ($_FILES['file_login']['size'] < 0 ){err("ファイル送信エラーです"); exit();}
130                               
131        if($_POST['img_select']){
132        $img_tmp_dir = HP_DIR."img_templates/".$_POST['img_select']."/";
133        }else{$img_tmp_dir = HP_DIR."img_templates/01/";}
134        define('IMG_TMP_DIR',$img_tmp_dir);     
135       
136        //画像加工処理
137        $base_file = IMG_BASE_DIR."base.jpg";//ベースのJPG画像
138        $tmp_file = IMG_TMP_DIR."skin_login.png";//スキン
139
140        //保存&作業フォルダの作成
141        $file_dir = HP_DIR."data/".$filetime."/";
142        mkdir($file_dir);
143       
144        $m_file = $file_dir."skin_login_org.jpg";//オリジナルデータ(小サイズ)の設置URL
145        move_uploaded_file($_FILES['file_login']['tmp_name'], $m_file);
146        chmod($m_file, 0644);
147                                                       
148                                                       
149                                                       
150                                                        $size = GetImageSize($m_file);//画像サイズの取得
151                                                        $src_im = ImageCreateFromJpeg($m_file);//ファイル又はURLから新規JPEG画像を作成する1
152                                                        $tmp = ImageCreateFrompng($tmp_file);//PNG
153
154                                //フォント
155                                //putenv('GDFONTPATH=' . realpath('./font'));
156                                $font = HP_DIR.'fonts/ipagp.ttf';
157                                                                //Loginの作成
158
159                               
160                                $new_im = ImageCreateFromJpeg($base_file);
161                                Imagecopyresampled($new_im, $src_im, 0, 0, 0, 0, 720, 563, 720, 563);
162                                Imagecopyresampled($new_im, $tmp, 0,0,0,0,720, 563, 720, 563);
163                               
164                                //$str = $_POST['title'];
165                                $str = $_POST['title'];
166                               
167                                $white = imagecolorallocate($new_im, 255,255, 255);
168                                //ImageTTFText(画像ID, 文字サイズ, アングル, X座標, y座標, 文字色, フォントtのファイル,文字列);
169                                imagettftext($new_im, 28, 0,10,50, $white, $font, $str);
170                               
171                                //Version
172                                $nekoget_pneskin_version = "@NEKOGET_PNESKIN Vol.".NEKOGET_PNESKIN_VERSION;
173                                $black = imagecolorallocate($new_im, 0,0,0);
174                                imagettftext($new_im, 9, 0,500,525, $black , $font, $nekoget_pneskin_version);
175                               
176                ImageJpeg($new_im, $file_dir."skin_login.jpg", 100);
177                imagedestroy($new_im);//イメージの解放
178                                imagedestroy($tmp);
179                                imagedestroy($src_im);
180                                $url =  HP_URL."data/".$filetime."/skin_login.jpg";
181                               
182                               
183                                //720x60 skin_after_header
184                                $base_file = IMG_BASE_DIR."skin_after_header_base.jpg";//ベースのJPG画像
185                                $tmp_file = IMG_TMP_DIR."skin_after_header.png";//スキン
186                                $m_file = HP_DIR."data/".$filetime."/skin_login_org.jpg";
187
188                                $src_im = ImageCreateFromJpeg($m_file);//ファイル又はURLから新規JPEG画像を作成する1
189                                $tmp = ImageCreateFrompng($tmp_file);//GIF
190                               
191                                $new_im = ImageCreateFromJpeg($base_file);
192                Imagecopyresampled($new_im, $src_im, 0, 0, 0, 0, 720, 96, 720, 96);
193                                Imagecopyresampled($new_im, $tmp, 0,0,0,0,720, 96, 720, 96);
194                               
195                                $str = $_POST['title'];
196                                $white = imagecolorallocate($new_im, 255,255, 255);
197                                //ImageTTFText(画像ID, 文字サイズ, アングル, X座標, y座標, 文字色, フォントtのファイル,文字列);
198                                imagettftext($new_im, 28, 0,10,50, $white, $font, $str);
199                               
200               
201                                ImageJpeg($new_im, $file_dir."skin_after_header.jpg", 100);
202                                imagedestroy($new_im);//イメージの解放
203                                imagedestroy($tmp);
204                                imagedestroy($src_im);
205       
206                                //skin_before_header(720*125)
207                                $base_file = IMG_BASE_DIR."skin_before_header_base.jpg";//ベースのJPG画像
208                                $tmp_file = IMG_TMP_DIR."skin_before_header.png";//スキン
209                                $m_file = HP_DIR."data/".$filetime."/skin_login_org.jpg";
210
211
212                                $src_im = ImageCreateFromJpeg($m_file);//ファイル又はURLから新規JPEG画像を作成する1
213                                $tmp = ImageCreateFrompng($tmp_file);//png
214                               
215                                $new_im = ImageCreateFromJpeg($base_file);
216                                Imagecopyresampled($new_im, $src_im, 0, 0, 0, 0, 720, 125, 720, 125);
217                                Imagecopyresampled($new_im, $tmp, 0,0,0,0,720, 125, 720, 125);
218                               
219                                $str = $_POST['title'];
220                                $white = imagecolorallocate($new_im, 255,255, 255);
221                                //ImageTTFText(画像ID, 文字サイズ, アングル, X座標, y座標, 文字色, フォントtのファイル,文字列);
222                                imagettftext($new_im, 28, 0,10,50, $white, $font, $str);
223
224                                ImageJpeg($new_im, $file_dir."skin_before_header.jpg", 100);
225                                imagedestroy($new_im);//イメージの解放
226                                imagedestroy($tmp);
227                                imagedestroy($src_im);
228                               
229                               
230                                //skin_footer(720*21)
231                                $base_file = IMG_BASE_DIR."skin_footer_base.jpg";//ベースのJPG画像
232                                $m_file = $file_dir."skin_login_org.jpg";
233                                $tmp_file = IMG_TMP_DIR."skin_footer.png";//スキン
234                               
235                                $src_im = ImageCreateFromJpeg($m_file);//ファイル又はURLから新規JPEG画像を作成する1
236                                $tmp = ImageCreateFrompng($tmp_file);//GIF
237
238                                $new_im = ImageCreateFromJpeg($base_file);
239                                Imagecopyresampled($new_im, $src_im, 0, 0, 0, 540, 720, 21, 720, 21);
240                                Imagecopyresampled($new_im, $tmp, 0,0,0,0,720, 21, 720, 21);
241
242                                ImageJpeg($new_im, $file_dir."skin_footer.jpg", 100);
243                                imagedestroy($new_im);//イメージの解放
244                                imagedestroy($tmp);
245                                imagedestroy($src_im);
246                               
247                                //skin_navi_h(720*29)
248                               
249                                $base_file = IMG_BASE_DIR."skin_navi_h_base.jpg";//ベースのJPG画像
250                                $m_file = $file_dir."skin_login_org.jpg";
251                                $tmp_file = IMG_TMP_DIR."skin_navi_h.png";//スキン
252                               
253                                $src_im = ImageCreateFromJpeg($m_file);//ファイル又はURLから新規JPEG画像を作成する1
254                                $tmp = ImageCreateFrompng($tmp_file);//png
255
256                                $new_im = ImageCreateFromJpeg($base_file);
257                                Imagecopyresampled($new_im, $src_im, 0, 0, 0, 96, 720, 29, 720, 29);
258                                Imagecopyresampled($new_im, $tmp, 0,0,0,0,720, 29, 720, 29);
259                               
260                               
261
262                                ImageJpeg($new_im, $file_dir."skin_navi_h.jpg", 100);
263                                imagedestroy($new_im);//イメージの解放
264                                imagedestroy($tmp);
265                                imagedestroy($src_im);
266                               
267                               
268                               
269                               
270                               
271                               
272                               
273                               
274                                //skin_navi_f(720*29)
275                               
276                                $base_file = IMG_BASE_DIR."skin_navi_h_base.jpg";//ベースのJPG画像
277                                $m_file = $file_dir."skin_login_org.jpg";
278                                $tmp_file = IMG_TMP_DIR."skin_navi_f.png";//スキン
279                               
280                                $src_im = ImageCreateFromJpeg($m_file);//ファイル又はURLから新規JPEG画像を作成する1
281                                $tmp = ImageCreateFrompng($tmp_file);//png
282
283                                $new_im = ImageCreateFromJpeg($base_file);
284                                Imagecopyresampled($new_im, $src_im, 0, 0, 0, 96, 720, 29, 720, 29);
285                                Imagecopyresampled($new_im, $tmp, 0,0,0,0,720, 29, 720, 29);
286                               
287                               
288
289                                ImageJpeg($new_im, $file_dir."skin_navi_f.jpg", 100);
290                                imagedestroy($new_im);//イメージの解放
291                                imagedestroy($tmp);
292                                imagedestroy($src_im);
293
294                                //skin_navi_c(720*29)
295                                $base_file = IMG_BASE_DIR."skin_navi_h_base.jpg";//ベースのJPG画像
296                                $m_file = $file_dir."skin_login_org.jpg";
297                                $tmp_file = IMG_TMP_DIR."skin_navi_c.png";//スキン
298                               
299                                $src_im = ImageCreateFromJpeg($m_file);//ファイル又はURLから新規JPEG画像を作成する1
300                                $tmp = ImageCreateFrompng($tmp_file);//png
301
302                                $new_im = ImageCreateFromJpeg($base_file);
303                                Imagecopyresampled($new_im, $src_im, 0, 0, 0, 96, 720, 29, 720, 29);
304                                Imagecopyresampled($new_im, $tmp, 0,0,0,0,720, 29, 720, 29);
305                               
306                               
307
308                                ImageJpeg($new_im, $file_dir."skin_navi_c.jpg", 100);
309                                imagedestroy($new_im);//イメージの解放
310                                imagedestroy($tmp);
311                                imagedestroy($src_im);
312                               
313                               
314                               
315                        $url2 =  HP_URL."data/".$filetime."/skin_after_header.jpg";
316                        $img_url = HP_URL."data/".$filetime."/";
317                        $kakunin = copy(HP_DIR."templates/TMP_data_index.html",HP_DIR."data/".$filetime."/index.html");
318                        header("Location:".$img_url );
319                               
320                               
321                               
322}
323err("エラーが発生しました<br/>画像のサイズが大きすぎる、もしくは画像データが送信されていない可能性があります。"); 
324exit();
325
326}
327
328function err($err){
329global $smarty;
330//画面表示
331
332  $smarty->assign('err',$err);
333  $smarty->display(HP_DIR.'templates/TMP_err.html');
334exit();
335
336}
337?>
Note: See TracBrowser for help on using the repository browser.