質問編集履歴

2

インクルード元header.phpについて

2018/06/26 05:23

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -257,3 +257,29 @@
257
257
  ?>
258
258
 
259
259
  ```
260
+
261
+
262
+
263
+ ### tmp/header.php
264
+
265
+
266
+
267
+ ```ここに言語を入力
268
+
269
+ <?php
270
+
271
+ error_reporting(0);
272
+
273
+ try{
274
+
275
+ $pdo = new PDO('mysql:host=●●●●.jp;dbname=_testtest;charset=utf8','_root','root',array(PDO::ATTR_EMULATE_PREPARES => false));
276
+
277
+ }catch(PDOException $e){
278
+
279
+ exit('no connect'.$e -> getMessage());
280
+
281
+ }
282
+
283
+ ?>
284
+
285
+ ```

1

該当ソース(全体)

2018/06/26 05:23

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -53,3 +53,207 @@
53
53
  大変恐縮ではございますが、ご教示いただけましたら幸いでございます。
54
54
 
55
55
  何卒、よろしくお願い申し上げます。
56
+
57
+
58
+
59
+
60
+
61
+ ### 追記
62
+
63
+
64
+
65
+ ```ここに言語を入力
66
+
67
+ #!/usr/local/bin/php54
68
+
69
+ <?php
70
+
71
+ error_reporting(0);
72
+
73
+ include_once('./tmp/header.php');//DB接続
74
+
75
+ $num = 10000;//RSS取得件数
76
+
77
+ date_default_timezone_set('Asia/Tokyo');
78
+
79
+
80
+
81
+ $rssUrl=array(
82
+
83
+ 'http://●●●●●●●●●/index.rdf',
84
+
85
+ 'http://●●●●●●●●●●/index.rdf'
86
+
87
+ );
88
+
89
+ //magpierss
90
+
91
+ require_once("magpierss-0.72/rss_fetch.inc");
92
+
93
+ define("MAGPIE_OUTPUT_ENCODING","UTF-8");
94
+
95
+ define("MAGPIE_CACHE_AGE","30");
96
+
97
+
98
+
99
+ foreach ($rssUrl as $no => $rss_url) {
100
+
101
+ if ($rss_url != '') {
102
+
103
+ //URLからRSSを取得
104
+
105
+ $rss = @fetch_rss($rss_url);
106
+
107
+ if ($rss != NULL) {
108
+
109
+ for ($i=0; $i<count($rss->items); $i++) {
110
+
111
+ $rss->items[$i]["site_title"] = $rss->channel["title"];
112
+
113
+ $rss->items[$i]["site_link"] = $rss->channel["link"];
114
+
115
+ }
116
+
117
+ //itemsを格納
118
+
119
+ $rssItemsArray[] = $rss->items;
120
+
121
+ }
122
+
123
+ }
124
+
125
+ }
126
+
127
+ $concatArray = array();
128
+
129
+ if (is_array($rssItemsArray)) {
130
+
131
+ for($i=0;$i<count($rssItemsArray);$i++){
132
+
133
+ $concatArray = array_merge($concatArray,$rssItemsArray[$i]);//配列を統合する
134
+
135
+ }
136
+
137
+ foreach ($concatArray as $no => $values) {
138
+
139
+ //RSSの種類によって日付を取得
140
+
141
+ if($values['published']){$date = $values['published'];}
142
+
143
+ elseif($values['created']){$date = $values['created'];}
144
+
145
+ elseif($values['pubdate']){$date = $values['pubdate'];}
146
+
147
+ elseif($values['dc']['date']){$date = $values['dc']['date'];}
148
+
149
+ $day=date("Y-m-d H:i:s",strtotime($date));
150
+
151
+ //Filter
152
+
153
+ $nowtime = date("Y-m-d H:i:s",strtotime( "now" ));//現在時刻の取得
154
+
155
+ if($day > $nowtime){//未来記事の排除
156
+
157
+ }elseif(preg_match("/AD/", $values["title"])){//広告記事の排除
158
+
159
+ }elseif(preg_match("/PR/", $values["title"])){
160
+
161
+ }else{
162
+
163
+
164
+
165
+ //値の定義
166
+
167
+ $title=$values["title"];
168
+
169
+ $link=$values["link"];
170
+
171
+ $site_title=$values["site_title"];
172
+
173
+ $site_link=$values["site_link"];
174
+
175
+ //記事ごとに必要な項目を抽出
176
+
177
+ $rssArray[]=array($day, $title, $link, $site_title, $site_link);
178
+
179
+ }//
180
+
181
+ }//
182
+
183
+ //ソート
184
+
185
+ function cmp($a, $b) {
186
+
187
+ if ($a[0] == $b[0]) return 0;
188
+
189
+ return ($a[0] > $b[0]) ? -1 : 1;
190
+
191
+ }
192
+
193
+ if($rssArray) { usort($rssArray, 'cmp'); }
194
+
195
+ if(count($rssArray) > $num){$count=$num;}
196
+
197
+ else{$count=count($rssArray);}
198
+
199
+ for ($i=0; $i<$count; $i++) {
200
+
201
+ $day=date("Y-m-d H:i:s",strtotime($rssArray[$i][0]));
202
+
203
+ $title=$rssArray[$i][1];
204
+
205
+ $link=$rssArray[$i][2];
206
+
207
+ $site_title=$rssArray[$i][3];
208
+
209
+ $site_link=$rssArray[$i][4];
210
+
211
+ $daylink = "<div>$date";
212
+
213
+ $titlelink = "<a href='$link'>$title</a>";
214
+
215
+ $site_titlelink = "<a href='$site_link'>[$site_title]</a></div>";
216
+
217
+ //echo "$datelink$titlelink$site_titlelink</div>";//(確認用)
218
+
219
+ //格納
220
+
221
+ $stmt = $pdo->prepare("insert into rss (title,link,site_title,site_link,day) values (?,?,?,?,?)");
222
+
223
+ $stmt->execute(array($title,$link,$site_title,$site_link,$day));
224
+
225
+ }
226
+
227
+ }
228
+
229
+ $stmt = 'DELETE FROM rss WHERE id NOT IN (SELECT min_id from (SELECT MIN(id) min_id FROM rss GROUP BY link,title) tmp)';
230
+
231
+ $stmt = $pdo->prepare($stmt);
232
+
233
+ $stmt->execute();
234
+
235
+ $stmt = 'ALTER table rss drop column id';
236
+
237
+ $stmt = $pdo->prepare($stmt);
238
+
239
+ $stmt->execute();
240
+
241
+ $stmt = 'ALTER table rss add id int(11) primary key not null auto_increment first';
242
+
243
+ $stmt = $pdo->prepare($stmt);
244
+
245
+ $stmt->execute();
246
+
247
+ $stmt = 'ALTER TABLE rss AUTO_INCREMENT =1';
248
+
249
+ $stmt = $pdo->prepare($stmt);
250
+
251
+ $stmt->execute();
252
+
253
+ //切断
254
+
255
+ $pdo = null;
256
+
257
+ ?>
258
+
259
+ ```