の部分です。bgcolorでもcolspanでもOK
*→テーブルを閉じる場合はスタートで崩れる場合は
* を挿入してください。HTMLのページでOKです
*・設定時間より長い時間、そのページへのアクセスがないとメールは来ません。
*
*=======================================*/
define(OUT_FILE, "amezo.html"); //書き出すHTMLファイル名(自動生成)
define(DATA_DIR, "./data/"); //データ格納ディレクトリ(数字.txtを各サイト毎に作成)
define(PAGE_DEF, "10"); //最新何件表示(headline.phpアクセス時)
define(PASS, "0123"); //管理パスワード
define(SUBJECT, "---Headline News---"); //メール送信時の題名(半角のみ)
mb_language( 'Japanese' );
/* データファイル名取得(配列で返す)*/
function GetDir(){
$d = dir(DATA_DIR);
while($entry=$d->read()) {//数字.txtのみ
if(eregi("^[0-9]+\.txt$",$entry)) $filename[] = $entry;
}
$d->close();
return $filename;
}
/* アップデート(IDがある場合指定サイトのみ */
function Update($id=""){
$xx = GetDir();//ファイル名取得
for($i=0; $i $b) ? -1 : 1;
}
/* データの表示 */
function ShowData(&$dat,$page=1,$last=""){
//ヘッダ
$dat='
へっどらいん
へっどらいん
全部 更新 管理
';
$xx = GetDir();
usort($xx, "mt_cmp");//更新順にソート
$st = ($page) ? ($page - 1) * PAGE_DEF : 0;
$to = $st + PAGE_DEF;
if(!$page){ $page=1; }
if($page=="all"){ $st = 0;$to = count($xx); }
for($i=$st; $i<$to; $i++){
if($xx[$i]=="") continue;
$files = file(DATA_DIR.$xx[$i]);
for($j=0; $j<6; $j++){//ヘッダ設定部分
list($title,$val)=explode(",",$files[$j]);
$h[$title] = chop($val);
}
for($j=7; $j";
$dat.="";
$dat.="▲/";
$dat.="▼\n";
$dat.="
\n
\n";
unset($line);//変数の開放
unset($h);
$c++;//カウントアップ
if($c == $last) break;
}//endwhile
//フッター
$next = $page + 1;
if($c >= PAGE_DEF) $dat.="次のページ
";
$dat.="へっどらいん byレッツPHP
";
}
/* 管理モード */
function Edit($id=""){
$pwd = htmlspecialchars($_POST['pwd']);
//通常
$subm = " 新規追加 ";
$h[table] = 'style="font-size:10pt;background-color:#ffffff;color:333333;"';
//ID指定時
if($id && file_exists(DATA_DIR.$id.".txt")){
$data = file(DATA_DIR.$id.".txt");
$box = " 削除";
$subm = " 設定更新 ";
}
//ヘッダ設定
for($j=0; $j<6; $j++){
list($title,$val)=explode(",",$data[$j]);
$h[$title] = chop($val);
}
echo "
Administration
Administration
ソース確認 更新
表示
";
//ID指定時。
if(is_array($data)){
$update = date("m-d(D) H:i:s",filemtime(DATA_DIR.$id.".txt"));
echo " |
";
echo "";
echo "$h[title] ";
echo "トップページ$h[page] 更新時刻 ".$update."";
echo " |
\n";
//HTMLデータ読み込み
for($j=7; $j |
\n";
//通常
}else{
$xx = GetDir();
sort($xx);//番号順にソート
for($i=0; $i" : "";
echo " |
$id | $h[title] | $h[page] |
\n";
}
//メール設定ファイル読み込み
if(!file_exists("uptime")) { touch("uptime"); }
$fp = @fopen("uptime", "r");
$now = fgetcsv($fp, 64);
fclose($fp);
//メール設定
echo "
|
";
}
echo "";
}
/* データの追加、更新 */
function Regist($id="",$title,$url,$page,$start,$end,$table){
if($title=="" || $url=="") die("タイトルとURLは埋めてください");
if(!eregi("^http://",$url)) die("URLはhttpから書いてください");
if(get_magic_quotes_gpc()){//¥マーク除去
$title = stripslashes($title);
$url = stripslashes($url);
$page = stripslashes($page);
$start = stripslashes($start);
$end = stripslashes($end);
$table = stripslashes($table);
}
//新規追加
if($id=="" || !file_exists(DATA_DIR.$id.".txt")){
$xx = GetDir();
rsort($xx);//番号大きい順にソート
$num = sprintf("%04d.txt",$xx[0] + 1);//新番号
}else{
//ID指定
$num = $id . ".txt";
$lines = file(DATA_DIR.$id.".txt");
//HTML部分を先に読み込む
$val = "\n\n";
for($i=7; $i
';
echo 'アクセスがあるページのどこかに
<img src="'.$myurl.'?m=chk" width=1 height=1>';
echo ' を挿入してください';
exit;
}
/* データファイル削除 */
function Del($id){
if(!file_exists(DATA_DIR.$id.".txt")) die("ファイルが見つかりません");
unlink(DATA_DIR.$id.".txt");
return true;
}
/* 管理モードログイン */
function Validation($admin){
//パスが違う時はエラーメッセージ
if($admin && ($admin != PASS))
$err = "パスワードが違います!";
if($admin=="" || $err){
?>
Administration
HTTP GET
if(isset($url) && ereg("^http://",$url)) {
$page = @file($url);
if($page) {
$word = htmlspecialchars($word);
if($word){ echo "このキーワードがハイライトされています: $word
"; }
while (list($num, $line) = each($page)) {
$line = mb_convert_encoding($str, "SJIS", "UTF-8,EUC-JP");
if(!$view){ $line=htmlspecialchars($line) . "
";};
if($word){ $line=ereg_replace($word, "$word", $line); }
echo "".$line."
";
}
} else { echo "ページが取得できません
"; }
}
}
/* メール送信チェック */
function Check(){
$now = time();
$fp = @fopen("uptime", "r+");
$last = fgetcsv($fp, 100);
if($now - $last[3] >= $last[1]*3600){//前回から更新時間オーバーなら
Update();//更新
ShowData($buf,"",$last[0]);//最新?件を参照変数に
$buf = strip_tags($buf);//タグの除去
@mail($last[2], Sub, $buf);//メール送信
$new = "$last[0],$last[1],$last[2],$now";
fseek($fp, 0);//ポインタを先頭にして書き込む
fputs($fp, $new);
}
fclose($fp);
}
/*=========Main==========*/
if ($_REQUEST['m'] == 'admin') {
Validation($_POST['pwd']);
if($_POST['act']=="reg") Regist($_POST['id'],$_POST['title'],$_POST['url'],$_POST['page'],$_POST['start'],$_POST['end'],$_POST['table']);
if($_POST['act']=="regmail") RegMail($_POST['las'],$_POST['upt'],$_POST['email']);
if($_POST['act']=="update") Update($_POST['id']);
if($_POST['del']=="del" && $_POST['id']) Del($_POST['id']);
Edit($_POST['id']);
exit;
}
switch($_GET['m']):
case 'chk':
Check();
break;
case 'get':
Get();
break;
case 'update':
Update();
ShowData($buf,"all");
$fp = fopen(OUT_FILE, "w");
fputs($fp, $buf);
fclose($fp);
echo $buf;
break;
default:
ShowData($buf,$_GET['page']);
echo $buf;
break;
endswitch;
?>