teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

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

2018/06/26 05:23

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -127,4 +127,17 @@
127
127
  //切断
128
128
  $pdo = null;
129
129
  ?>
130
+ ```
131
+
132
+ ### tmp/header.php
133
+
134
+ ```ここに言語を入力
135
+ <?php
136
+ error_reporting(0);
137
+ try{
138
+ $pdo = new PDO('mysql:host=●●●●.jp;dbname=_testtest;charset=utf8','_root','root',array(PDO::ATTR_EMULATE_PREPARES => false));
139
+ }catch(PDOException $e){
140
+ exit('no connect'.$e -> getMessage());
141
+ }
142
+ ?>
130
143
  ```

1

該当ソース(全体)

2018/06/26 05:23

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -25,4 +25,106 @@
25
25
  [https://heteml.jp/support/manual/cron/](https://heteml.jp/support/manual/cron/)
26
26
 
27
27
  大変恐縮ではございますが、ご教示いただけましたら幸いでございます。
28
- 何卒、よろしくお願い申し上げます。
28
+ 何卒、よろしくお願い申し上げます。
29
+
30
+
31
+ ### 追記
32
+
33
+ ```ここに言語を入力
34
+ #!/usr/local/bin/php54
35
+ <?php
36
+ error_reporting(0);
37
+ include_once('./tmp/header.php');//DB接続
38
+ $num = 10000;//RSS取得件数
39
+ date_default_timezone_set('Asia/Tokyo');
40
+
41
+ $rssUrl=array(
42
+ 'http://●●●●●●●●●/index.rdf',
43
+ 'http://●●●●●●●●●●/index.rdf'
44
+ );
45
+ //magpierss
46
+ require_once("magpierss-0.72/rss_fetch.inc");
47
+ define("MAGPIE_OUTPUT_ENCODING","UTF-8");
48
+ define("MAGPIE_CACHE_AGE","30");
49
+
50
+ foreach ($rssUrl as $no => $rss_url) {
51
+ if ($rss_url != '') {
52
+ //URLからRSSを取得
53
+ $rss = @fetch_rss($rss_url);
54
+ if ($rss != NULL) {
55
+ for ($i=0; $i<count($rss->items); $i++) {
56
+ $rss->items[$i]["site_title"] = $rss->channel["title"];
57
+ $rss->items[$i]["site_link"] = $rss->channel["link"];
58
+ }
59
+ //itemsを格納
60
+ $rssItemsArray[] = $rss->items;
61
+ }
62
+ }
63
+ }
64
+ $concatArray = array();
65
+ if (is_array($rssItemsArray)) {
66
+ for($i=0;$i<count($rssItemsArray);$i++){
67
+ $concatArray = array_merge($concatArray,$rssItemsArray[$i]);//配列を統合する
68
+ }
69
+ foreach ($concatArray as $no => $values) {
70
+ //RSSの種類によって日付を取得
71
+ if($values['published']){$date = $values['published'];}
72
+ elseif($values['created']){$date = $values['created'];}
73
+ elseif($values['pubdate']){$date = $values['pubdate'];}
74
+ elseif($values['dc']['date']){$date = $values['dc']['date'];}
75
+ $day=date("Y-m-d H:i:s",strtotime($date));
76
+ //Filter
77
+ $nowtime = date("Y-m-d H:i:s",strtotime( "now" ));//現在時刻の取得
78
+ if($day > $nowtime){//未来記事の排除
79
+ }elseif(preg_match("/AD/", $values["title"])){//広告記事の排除
80
+ }elseif(preg_match("/PR/", $values["title"])){
81
+ }else{
82
+
83
+ //値の定義
84
+ $title=$values["title"];
85
+ $link=$values["link"];
86
+ $site_title=$values["site_title"];
87
+ $site_link=$values["site_link"];
88
+ //記事ごとに必要な項目を抽出
89
+ $rssArray[]=array($day, $title, $link, $site_title, $site_link);
90
+ }//
91
+ }//
92
+ //ソート
93
+ function cmp($a, $b) {
94
+ if ($a[0] == $b[0]) return 0;
95
+ return ($a[0] > $b[0]) ? -1 : 1;
96
+ }
97
+ if($rssArray) { usort($rssArray, 'cmp'); }
98
+ if(count($rssArray) > $num){$count=$num;}
99
+ else{$count=count($rssArray);}
100
+ for ($i=0; $i<$count; $i++) {
101
+ $day=date("Y-m-d H:i:s",strtotime($rssArray[$i][0]));
102
+ $title=$rssArray[$i][1];
103
+ $link=$rssArray[$i][2];
104
+ $site_title=$rssArray[$i][3];
105
+ $site_link=$rssArray[$i][4];
106
+ $daylink = "<div>$date";
107
+ $titlelink = "<a href='$link'>$title</a>";
108
+ $site_titlelink = "<a href='$site_link'>[$site_title]</a></div>";
109
+ //echo "$datelink$titlelink$site_titlelink</div>";//(確認用)
110
+ //格納
111
+ $stmt = $pdo->prepare("insert into rss (title,link,site_title,site_link,day) values (?,?,?,?,?)");
112
+ $stmt->execute(array($title,$link,$site_title,$site_link,$day));
113
+ }
114
+ }
115
+ $stmt = 'DELETE FROM rss WHERE id NOT IN (SELECT min_id from (SELECT MIN(id) min_id FROM rss GROUP BY link,title) tmp)';
116
+ $stmt = $pdo->prepare($stmt);
117
+ $stmt->execute();
118
+ $stmt = 'ALTER table rss drop column id';
119
+ $stmt = $pdo->prepare($stmt);
120
+ $stmt->execute();
121
+ $stmt = 'ALTER table rss add id int(11) primary key not null auto_increment first';
122
+ $stmt = $pdo->prepare($stmt);
123
+ $stmt->execute();
124
+ $stmt = 'ALTER TABLE rss AUTO_INCREMENT =1';
125
+ $stmt = $pdo->prepare($stmt);
126
+ $stmt->execute();
127
+ //切断
128
+ $pdo = null;
129
+ ?>
130
+ ```