2015年12月29日火曜日

SQLITE3利用したログ記録 その2

SQLITE3利用したログ記録 その2

private function page_count () を追加しました。
script_filename アクセス数をカウントします。



<?php
//logo
session_name('aixin');
session_start();
//error_reporting(E_ALL);
date_default_timezone_set('Asia/Tokyo');
//include_once('acclog.php');

$hi = new acclog();
if(count(get_included_files()) == 1){
if(array_key_exists('xx',$_GET)){
$hi->viewlog();
}else{
$name = basename(__FILE__);
echo '<html><head>';
echo '<title>404 Not Found</title>';
echo '</head><body>';
echo '<h1>Not Found</h1>';
echo "<p>The requested URL /{$name} was not found on this server.</p>";
echo '</body></html>';
exit();
}
}

class acclog{
public $db_name = "acclog.db";
// select datetime(request_time,"localtime") from log;

public function acclog(){
if(!file_exists($this->db_name)){
$this->create_acclog_db();
}

if(filesize($this->db_name) > 6438912){
$this->diet();
}

$db = new sqlite3($this->db_name);
$db->busyTimeout(10000);
$temp = $db->prepare("insert into log ('remote_addr','http_user_agent','request_uri','http_accept_language') values (:a,:b,:c,:d)");
$temp->bindValue(':a',$_SERVER['REMOTE_ADDR'],SQLITE3_TEXT);
$temp->bindValue(':b',$this->user_agent($_SERVER['HTTP_USER_AGENT']),SQLITE3_TEXT);
$temp->bindValue(':c',$_SERVER['REQUEST_URI'],SQLITE3_TEXT);
$temp->bindValue(':d',$_SERVER['HTTP_ACCEPT_LANGUAGE'],SQLITE3_TEXT);
$temp->execute();
$db->close();
$this->page_count($_SERVER['SCRIPT_FILENAME']);
}

private function user_agent($agent){
$db = new sqlite3($this->db_name);
$db->busyTimeout(10000);
$sql_select = sprintf("select rowid from user_agent where http_user_agent = \"%s\"",$agent);
$sql_insert = sprintf("insert into user_agent (http_user_agent) values (\"%s\")",$agent);
$temp = $db->querySingle($sql_select);
if(is_null($temp)){
$db->exec($sql_insert);
$temp = $db->querySingle($sql_select);
$db->close();
return $temp;
}else{
$db->close();
return $temp;
}

$db->close();
}

public function viewlog(){
$db = new sqlite3($this->db_name);
$db->busyTimeout(10000);
$temp = $db->prepare("select rowid,http_user_agent from user_agent order by http_user_agent asc");
$temp2 = $temp->execute();
while($temp3 = $temp2->fetchArray(SQLITE3_ASSOC)){
$temp4 = $this->user_agent_count($temp3['rowid']);
if($temp4 != 0){
echo "<div>{$temp3['rowid']}::{$temp3['http_user_agent']}</div>";
echo "<div>{$temp4}</div>";
echo "<div><br></div>";
}
}

$vt = $db->prepare("select * from page_count");
$vx = $vt->execute();
while($vxx = $vx->fetchArray(SQLITE3_ASSOC)){
echo "<div>[script_filename] => {$vxx['script_filename']}</div>";
echo "<div>[count] => {$vxx['count']}</div>";
}

$db->close();
}

private function user_agent_count($rowid){
$db = new sqlite3($this->db_name);
$db->busyTimeout(10000);
$temp = $db->prepare("select count(*) as count from log where http_user_agent = :a");
$temp->bindValue(':a',$rowid);
$temp2 = $temp->execute();

while($temp3 = $temp2->fetchArray(SQLITE3_ASSOC)){
$db->close();
return $temp3['count'];
}
$db->close();
}

private function page_count($script_filename){
$db = new sqlite3($this->db_name);
$db->busyTimeout(10000);
//script_filename
$sql_1 = sprintf("select script_filename from page_count where script_filename = \"%s\"",$script_filename);
$sql_2 = sprintf("insert into page_count (script_filename,count) values (\"%s\",0)",$script_filename);
$sql_3 = sprintf ("update page_count set count = count + 1 where script_filename = \"%s\"",$script_filename);
$temp = $db->querySingle($sql_1);

if($temp == null){
$db->exec($sql_2);
$db->exec($sql_3);
}else{
$db->exec($sql_3);
}
$db->close();
}

private function diet(){
$db = new sqlite3($this->db_name);
$db->busyTimeout(10000);
$temp = $db->prepare("delete from log where request_time < datetime('now','-7 days')");
$temp->execute();
$db->exec('VACUUM');
$db->close();
}

public function create_acclog_db(){
$db = new sqlite3($this->db_name);
$db->busyTimeout(10000);
$create_db =
"create table log(
request_time text default current_timestamp,
remote_addr text,
http_user_agent text,
request_uri text,
http_accept_language text
)";

$db->exec($create_db);

$create_db =
"create table user_agent(
http_user_agent text
)";

$db->exec($create_db);

$create_db =
"create table page_count(
script_filename text unique,
count integer
)";

$db->exec($create_db);
$db->close();
}
}



//old
function old_mf_log($log=null){
error_reporting(0);
date_default_timezone_set('Asia/Tokyo');
$file=basename(__FILE__);
$log_server[$file]=date('c');
$log_server['ip']=$_SERVER['REMOTE_ADDR'];
$log_server['uag']=$_SERVER['HTTP_USER_AGENT'];
$log_server['lg']=$_SERVER['HTTP_ACCEPT_LANGUAGE'];
$log_server['url']=$log;

$log_str='<?php //';
foreach ($log_server as $key=>$val){
$log_str=$log_str.$key.'>'.$val.', ';
unset($val);
unset($key);
}
$log_str=$log_str.'// ?>'."\r\n";
file_put_contents('log_itunes.php', $log_str, FILE_APPEND | LOCK_EX);
}

?>

2015年12月28日月曜日

SQLITE3利用したログ記録

ログ記録

SQLITE3利用したログ記録


<?php
//logo
session_name('log');
session_start();
error_reporting(E_ALL);
date_default_timezone_set('Asia/Tokyo');
//include_once('acclog.php');

$hi = new acclog();
if(count(get_included_files()) == 1){
$hi->viewlog();
}

class acclog{
public $db_name = "acclog.db";
// select datetime(request_time,"localtime") from log;

public function acclog(){
if(!file_exists($this->db_name)){
$this->create_acclog_db();
}

if(filesize($this->db_name) > 6438912){
$this->diet();
}

$db = new sqlite3($this->db_name);
$db->busyTimeout(10000);
$temp = $db->prepare("insert into log ('remote_addr','http_user_agent','request_uri','http_accept_language') values (:a,:b,:c,:d)");
$temp->bindValue(':a',$_SERVER['REMOTE_ADDR'],SQLITE3_TEXT);
$temp->bindValue(':b',$this->user_agent($_SERVER['HTTP_USER_AGENT']),SQLITE3_TEXT);
$temp->bindValue(':c',$_SERVER['REQUEST_URI'],SQLITE3_TEXT);
$temp->bindValue(':d',$_SERVER['HTTP_ACCEPT_LANGUAGE'],SQLITE3_TEXT);
$temp->execute();
$db->close();
}

private function user_agent($agent){
$db = new sqlite3($this->db_name);
$db->busyTimeout(10000);
$sql_select = sprintf("select rowid from user_agent where http_user_agent = \"%s\"",$agent);
$sql_insert = sprintf("insert into user_agent (http_user_agent) values (\"%s\")",$agent);
$temp = $db->querySingle($sql_select);
if(is_null($temp)){
$db->exec($sql_insert);
$temp = $db->querySingle($sql_select);
$db->close();
return $temp;
}else{
$db->close();
return $temp;
}

$db->close();
}

public function viewlog(){
$db = new sqlite3($this->db_name);
$db->busyTimeout(10000);
$temp = $db->prepare("select rowid,http_user_agent from user_agent order by http_user_agent asc");
$temp2 = $temp->execute();
while($temp3 = $temp2->fetchArray(SQLITE3_ASSOC)){
$temp4 = $this->user_agent_count($temp3['rowid']);
if($temp4 != 0){
echo "<div>{$temp3['rowid']}::{$temp3['http_user_agent']}</div>";
echo "<div>{$temp4}</div>";
echo "<div><br></div>";
}
}
$db->close();
}

private function user_agent_count($rowid){
$db = new sqlite3($this->db_name);
$db->busyTimeout(10000);
$temp = $db->prepare("select count(*) as count from log where http_user_agent = :a");
$temp->bindValue(':a',$rowid);
$temp2 = $temp->execute();

while($temp3 = $temp2->fetchArray(SQLITE3_ASSOC)){
$db->close();
return $temp3['count'];
}
$db->close();
}


private function diet(){
$db = new sqlite3($this->db_name);
$db->busyTimeout(10000);
$temp = $db->prepare("delete from log where request_time < datetime('now','-7 days')");
$temp->execute();
$db->exec('VACUUM');
$db->close();
}


public function create_acclog_db(){
$db = new sqlite3($this->db_name);
$db->busyTimeout(10000);
$create_db =
"create table log(
request_time text default current_timestamp,
remote_addr text,
http_user_agent text,
request_uri text,
http_accept_language text
)";

$db->exec($create_db);

$create_db =
"create table user_agent(
http_user_agent text
)";

$db->exec($create_db);
$db->close();
}
}



//old
function mf_log($log=null){
error_reporting(0);
date_default_timezone_set('Asia/Tokyo');
$file=basename(__FILE__);
$log_server[$file]=date('c');
$log_server['ip']=$_SERVER['REMOTE_ADDR'];
$log_server['uag']=$_SERVER['HTTP_USER_AGENT'];
$log_server['lg']=$_SERVER['HTTP_ACCEPT_LANGUAGE'];
$log_server['url']=$log;

$log_str='<?php //';
foreach ($log_server as $key=>$val){
$log_str=$log_str.$key.'>'.$val.', ';
unset($val);
unset($key);
}
$log_str=$log_str.'// ?>'."\r\n";
file_put_contents('log_itunes.php', $log_str, FILE_APPEND | LOCK_EX);
}


?>















2015年12月26日土曜日

Google 可以识别的元标记

Google 可以识别的元标记

noindex:防止网页被编入索引

<meta name="robots" content="noindex" />


这些元标记可以控制搜索引擎的抓取和索引编制行为。robots 元标记适用于所有搜索引擎,而“googlebot”元标记专用于 Google。默认值是“index, follow”(相当于“all”),不需要进行指定。我们可以识别以下值(指定多个值时,请使用英文逗号进行分隔):

noindex:防止网页被编入索引
nofollow:防止 Googlebot 跟踪此页面中的链接
nosnippet:防止代码段显示在搜索结果中
noodp:防止使用 ODP/DMOZ 中的替代说明
noarchive:防止 Google 显示网页的缓存链接。
unavailable_after:[date]:可让您指定要停止抓取此网页及将其编入索引的确切时间和日期
noimageindex:可让您指定您不希望自己的网页显示为 Google 搜索结果中所显示图片的引荐来源网页。
none:相当于 noindex, nofollow。
现在,您还可以使用“X-Robots-Tag”HTTP 标头指令在网页的标头中指定此信息。如果您要限制将非 HTML 文件(如图形或其他类型的文档)编入索引,这种方法尤其实用。详细了解漫游器元标记





2015年12月25日金曜日

一日で収集したhttp_user_agent.

一日で収集したuser_agent.



Digg Deeper/v1 (http://digg.com/about)
Go-http-client/1.1
Googlebot/2.1 (+http://www.googlebot.com/bot.html)
HTMLParser/2.0
Jakarta Commons-HttpClient/3.0.1
Java/1.6.0_27
Java/1.8.0_65
Java/1.8.0_66
LivelapBot/0.2 (http://site.livelap.com/crawler)
Mediapartners-Google
MetaURI API/2.0 +metauri.com
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; GTB7.2; (R1 1.6); SLCC1; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 1.1.4322; .NET CLR 3.0.30729; OfficeLiveConnector.1.5; OfficeLivePatch.1.3; .NET4.0C; .NET4.0E; AskTB5.3)
Mozilla/5.0
Mozilla/5.0 (Linux; Android 4.4.2; SM-N910S Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36 [FB_IAB/FB4A;FBAV/58.0.0.28.70;]
Mozilla/5.0 (Linux; Android 4.4.4; HM NOTE 1LTE Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.83 Mobile Safari/537.36
Mozilla/5.0 (Linux; Android 4.4; Nexus 5 Build/_BuildID_) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36
Mozilla/5.0 (Linux; Android 5.1.1; SM-G360T1 Build/LMY47X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.76 Mobile Safari/537.36
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36
Mozilla/5.0 (Macintosh; PPC Mac OS X; U; en; rv:1.8.0) Gecko/20060728 Firefox/1.5.0
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2) Gecko/20091218 Firefox 3.6b5
Mozilla/5.0 (TweetmemeBot/4.0; +http://datasift.com/bot.html) Gecko/20100101 Firefox/31.0
Mozilla/5.0 (U; Windows NT 5.1; en-GB; rv:1.8.1.17) Gecko/20080808 Firefox/2.0.0.17
Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36
Mozilla/5.0 (Windows NT 5.1; U; zh-cn; rv:1.8.1) Gecko/20091102 Firefox/3.5.5
Mozilla/5.0 (Windows NT 5.1; rv:1.9a1) Gecko/20060217 Firefox/1.6a1
Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:45.0) Gecko/20100101 Firefox/45.0
Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.73 Safari/537.36 OPR/34.0.2036.25
Mozilla/5.0 (Windows NT 6.3; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0
Mozilla/5.0 (Windows; U; Win98; es-ES; rv:1.7.7) Gecko/20050414 Firefox/1.0.3
Mozilla/5.0 (Windows; U; Windows NT 5.0; ; rv:1.8.0.1) Gecko/20060111 Firefox/1.9.0
Mozilla/5.0 (Windows; U; Windows NT 5.0; de-DE; rv:1.7.6) Gecko/20050321 Firefox/1.0.2
Mozilla/5.0 (Windows; U; Windows NT 5.0; de; rv:1.8.0.11) Gecko/20070312 Firefox/1.5.0.11
Mozilla/5.0 (Windows; U; Windows NT 5.0; es-ES; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3
Mozilla/5.0 (Windows; U; Windows NT 5.1 ; x64; en-US; rv:1.9.1b2pre) Gecko/20081026 Firefox/3.1b2pre
Mozilla/5.0 (Windows; U; Windows NT 5.1; de-DE; rv:1.6) Gecko/20040206 Firefox/0.8
Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.4) Gecko/20091007 Firefox/3.5.4
Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2 ( .NET CLR 3.0.04506.30)
Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.10
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.7.6) Gecko/20050226 Firefox/1.0.1
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.1.4) Gecko/20091016 Firefox/3.5.4 ( .NET CLR 3.5.30729; .NET4.0E)
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.9) Gecko/20050711 Firefox/1.0.5 (ax)
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.2) Gecko/20060406 Firefox/1.5.0.2
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.2) Gecko/20060419 Firefox/1.5.0.2
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1b1) Gecko/20060710 Firefox/2.0b1
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8b5) Gecko/20051006 Firefox/1.4.1
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.8) Gecko/2008091620 Firefox/3.0.2
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6 GTB6 (.NET CLR 3.5.30729) FBSMTWB
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1b3pre) Gecko/20090213 Firefox/3.0.1b3pre
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a1) Gecko/20051220 Firefox/1.6a1
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a1) Gecko/20060121 Firefox/1.6a1
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9b3) Gecko/2008020514 Firefox/3.0b3
Mozilla/5.0 (Windows; U; Windows NT 5.1; fr-FR; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13
Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.13) Gecko/2009073022 Firefox/3.0.13 (.NET CLR 3.5.30729)
Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.0.16) Gecko/2009120208 Firefox/3.0.16 FBSMTWB
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9b5) Gecko/2008032620 Firefox/3.0b5
Mozilla/5.0 (Windows; U; Windows NT 5.1; ko; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)
Mozilla/5.0 (Windows; U; Windows NT 5.1; nb-NO; rv:1.9.2.4) Gecko/20100611 Firefox/3.6.4 (.NET CLR 3.5.30729)
Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.0.11) Gecko/20070312 Firefox/1.5.0.11
Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20040913 Firefox/0.10
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.7.5) Gecko/20041119 Firefox/1.0
Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.8b5) Gecko/20051006 Firefox/1.4.1
Mozilla/5.0 (Windows; U; Windows NT 5.2; zh-CN; rv:1.9.2) Gecko/20091111 Firefox/3.6
Mozilla/5.0 (Windows; U; Windows NT 6.0; ca; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9 GTB7.0 ( .NET CLR 3.5.30729)
Mozilla/5.0 (Windows; U; Windows NT 6.0; cs; rv:1.8.1.20) Gecko/20081217 Firefox/2.0.0.20
Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.8.1.5) Gecko/20070713 Firefox/2.0.0.5
Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 (.NET CLR 3.5.30729)
Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.1b3) Gecko/20090305 Firefox/3.1b3 (.NET CLR 3.5.30729)
Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.9.0.19) Gecko/2010031422 Firefox/3.0.19 (.NET CLR 3.5.30729) FirePHP/0.3
Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.0.8) Gecko/20061025 Firefox/1.5.0.8
Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.12) Gecko/2009070611 Firefox/3.5.12
Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2 (.NET CLR 3.5.30729)
Mozilla/5.0 (Windows; U; Windows NT 6.0; en_US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.7
Mozilla/5.0 (Windows; U; Windows NT 6.0; it; rv:1.9.1b2) Gecko/20081201 Firefox/3.1b2
Mozilla/5.0 (Windows; U; Windows NT 6.0; nl; rv:1.9.2.6) Gecko/20100625 Firefox/3.6.6
Mozilla/5.0 (Windows; U; Windows NT 6.0; tr; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9
Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1
Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.8.0.2) Gecko/20060308 Firefox/1.5.0.2
Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.1) Gecko/20090718 Firefox/3.5.1
Mozilla/5.0 (Windows; U; Windows NT 6.1; fr; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 ( .NET CLR 3.5.30729)
Mozilla/5.0 (Windows; U; Windows NT 6.1; it; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
Mozilla/5.0 (Windows; U; Windows NT 6.1; ru-RU; rv:1.9.2) Gecko/20100105 MRA 5.6 (build 03278) Firefox/3.6 (.NET CLR 3.5.30729)
Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10
Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/4.0 (.NET CLR 3.5.30729)
Mozilla/5.0 (Windows; U; Windows NT 6.1; zh-CN; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8
Mozilla/5.0 (Windows; Windows NT 5.1; en-US; rv:1.9.2a1pre) Gecko/20090402 Firefox/3.6a1pre
Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.66 Safari/537.36
Mozilla/5.0 (X11; Linux i686; rv:2.0b3pre) Gecko/20100731 Firefox/4.0b3pre
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.21 (KHTML, like Gecko) wpif Safari/537.21
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.231
Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.8.0.2) Gecko/20060414 Firefox/1.5.0.2
Mozilla/5.0 (X11; U; Gentoo Linux x86_64; pl-PL; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7
Mozilla/5.0 (X11; U; Linux Gentoo; pl-PL; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7
Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-GB; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9
Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9b2) Gecko/2007121016 Firefox/3.0b2
Mozilla/5.0 (X11; U; Linux i686; bg; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13
Mozilla/5.0 (X11; U; Linux i686; cs-CZ; rv:1.9.0.16) Gecko/2009121601 Ubuntu/9.04 (jaunty) Firefox/3.0.16
Mozilla/5.0 (X11; U; Linux i686; de-AT; rv:1.7.6) Gecko/20050325 Firefox/1.0.2 (Debian package 1.0.2-1)
Mozilla/5.0 (X11; U; Linux i686; de-DE; rv:1.7.13) Gecko/20060411 Firefox/1.0.8 SUSE/1.0.8-0.2
Mozilla/5.0 (X11; U; Linux i686; de; rv:1.8.1.14) Gecko/20080410 SUSE/2.0.0.14-0.1 Firefox/2.0.0.14
Mozilla/5.0 (X11; U; Linux i686; de; rv:1.8.1.19) Gecko/20081213 SUSE/2.0.0.19-0.1 Firefox/2.0.0.19
Mozilla/5.0 (X11; U; Linux i686; de; rv:1.9.0.14) Gecko/2009082505 Red Hat/3.0.14-1.el5_4 Firefox/3.0.14
Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.8.0.8) Gecko/20061025 Firefox/1.5.0.8
Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.8.1.6) Gecko/20070914 Firefox/2.0.0.7
Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 GTB5
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040225 Firefox/0.8
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.5) Gecko/20041117 Firefox/1.0 (Debian package 1.0-2.0.0.45.linspire0.4)
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050513 Firefox/1.0.4
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050517 Firefox/1.0.4 (Debian package 1.0.4-2)
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8) Gecko/20060130 Ubuntu/1.5.dfsg-4ubuntu6 Firefox/1.5
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8) Gecko/20060806 Firefox/1.5
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070719 CentOS/1.5.0.12-0.3.el4.centos Firefox/1.5.0.12
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.4) Gecko/20060704 Firefox/1.5.0.4
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.6) Gecko/20060905 Fedora/1.5.0.6-10 Firefox/1.5.0.6 pango-text
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.8) Gecko/20060802 Mandriva/1.5.0.8-1.1mdv2007.0 (2007.0) Firefox/1.5.0.8
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.11) Gecko/20071217 Firefox/2.0.0.11
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12 Mnenhy/0.7.5.666
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.12) Gecko/20080208 Fedora/2.0.0.12-1.fc8 Firefox/2.0.0.12
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.12) Gecko/20080208 Firefox/2.0.0.12
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.15) Gecko/20061201 Firefox/2.0.0.15 (Ubuntu-feisty)
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.16) Gecko/20080715 Fedora/2.0.0.16-1.fc8 Firefox/2.0.0.16
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.17) Gecko/20080703 Mandriva/2.0.0.17-1.1mdv2008.1 (2008.1) Firefox/2.0.0.17
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.17) Gecko/20080921 SUSE/2.0.0.17-1.2 Firefox/2.0.0.17
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.18) Gecko/20081112 Fedora/2.0.0.18-1.fc8 Firefox/2.0.0.18
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.19) Gecko/20081213 SUSE/2.0.0.19-0.1 Firefox/2.0.0.19
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.3) Gecko/20061201 Firefox/2.0.0.1 (Ubuntu-feisty)
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.4) Gecko/20070602 Firefox/2.0.0.4
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.10) Gecko/2009042523 Ubuntu/8.10 (intrepid) Firefox/3.0.10
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.13) Gecko/2009080315 Ubuntu/9.04 (jaunty) Firefox/3.0.13
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.14) Gecko/2009091010 Firefox/3.0.14 (Debian-3.0.14-1)
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.2) Gecko/2008092313 Ubuntu/1.4.0 (hardy) Firefox/3.0.2
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.2) Gecko/2008092318 Fedora/3.0.2-1.fc9 Firefox/3.0.2
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.2) Gecko/2008092809 Gentoo Firefox/3.0.2
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) Gecko/2008100320 Firefox/2.0.0.5
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.9) Gecko/2009042113 Linux Mint/6 (Felicia) Firefox/3.0.9
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.3) Gecko/20090919 Firefox/3.5.3
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.6) Gecko/20100118 Gentoo Firefox/3.5.6
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.3) Gecko/20100404 Ubuntu/10.04 (lucid) Firefox/3.6.3
Mozilla/5.0 (X11; U; Linux i686; fi-FI; rv:1.9.0.11) Gecko/2009060308 Ubuntu/9.04 (jaunty) Firefox/3.0.11
Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.7.10) Gecko/20050925 Firefox/1.0.4 (Debian package 1.0.4-2sarge5)
Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.1) Gecko/20060916 Firefox/2.0b2
Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9.0.3) Gecko/2008092510 Ubuntu/8.04 (hardy) Firefox/3.03
Mozilla/5.0 (X11; U; Linux i686; it; rv:1.8.1.14) Gecko/20080416 Fedora/2.0.0.14-1.fc7 Firefox/2.0.0.14
Mozilla/5.0 (X11; U; Linux i686; ja; rv:1.9.1) Gecko/20090624 Firefox/3.5 (.NET CLR 3.5.30729)
Mozilla/5.0 (X11; U; Linux i686; nl; rv:1.8.0.4) Gecko/20060608 Ubuntu/dapper-security Firefox/1.5.0.4
Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.8.0.7) Gecko/20060914 Firefox/1.5.0.7 (Swiftfox) Mnenhy/0.7.4.666
Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.9.0.10) Gecko/2009042513 Ubuntu/8.04 (hardy) Firefox/3.0.10
Mozilla/5.0 (X11; U; Linux i686; pl; rv:1.8.1) Gecko/20061010 Firefox/2.0 Ubuntu
Mozilla/5.0 (X11; U; Linux i686; pt-BR; rv:1.8.1.1) Gecko/20061208 Firefox/2.0.0.1
Mozilla/5.0 (X11; U; Linux i686; pt-PT; rv:1.9.0.5) Gecko/2008121622 Ubuntu/8.10 (intrepid) Firefox/3.0.4
Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.8.0.7) Gecko/20060921 Ubuntu/dapper-security Firefox/1.5.0.7
Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.2.8) Gecko/20100723 Ubuntu/10.04 (lucid) Firefox/3.6.8
Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.3a5pre) Gecko/20100526 Firefox/3.7a5pre
Mozilla/5.0 (X11; U; Linux i686; sk; rv:1.9.1) Gecko/20090630 Fedora/3.5-1.fc11 Firefox/3.0
Mozilla/5.0 (X11; U; Linux i686; zh-CN; rv:1.9.2.8) Gecko/20100722 Ubuntu/10.04 (lucid) Firefox/3.6.8
Mozilla/5.0 (X11; U; Linux x86_64; de; rv:1.9.1.10) Gecko/20100506 SUSE/3.5.10-0.1.1 Firefox/3.5.10
Mozilla/5.0 (X11; U; Linux x86_64; de; rv:1.9.2) Gecko/20100308 Ubuntu/10.04 (lucid) Firefox/3.6
Mozilla/5.0 (X11; U; Linux x86_64; en-GB; rv:1.8.1.12) Gecko/20080203 SUSE/2.0.0.12-0.1 Firefox/2.0.0.12
Mozilla/5.0 (X11; U; Linux x86_64; en-GB; rv:1.9.0.5) Gecko/2008122010 Firefox/3.0.5
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.7.12) Gecko/20050922 Fedora/1.0.7-1.1.fc4 Firefox/1.0.7
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.0.10) Gecko/20070409 CentOS/1.5.0.10-2.el5.centos Firefox/1.5.0.10
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.0.3) Gecko/20060522 Firefox/1.5.0.3
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.12) Gecko/20080203 SUSE/2.0.0.12-0.1 Firefox/2.0.0.12
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.13) Gecko/20080208 Mandriva/2.0.0.13-1mdv2008.1 (2008.1) Firefox/2.0.0.13
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.1) Gecko/2008072820 Kubuntu/8.04 (hardy) Firefox/3.0.1
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.2) Gecko/2008092318 Fedora/3.0.2-1.fc9 Firefox/3.0.2
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.6) Gecko/2009012700 SUSE/3.0.6-1.4 Firefox/3.0.6
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.8) Gecko/2009032600 SUSE/3.0.8-1.1.1 Firefox/3.0.8
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.1) Gecko/20090716 Firefox/3.5.1
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.6) Gecko/20100628 Ubuntu/10.04 (lucid) Firefox/3.6.6
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2a1pre) Gecko/20090428 Firefox/3.6a1pre
Mozilla/5.0 (X11; U; Linux x86_64; fi-FI; rv:1.9.0.8) Gecko/2009032712 Ubuntu/8.10 (intrepid) Firefox/3.0.8
Mozilla/5.0 (X11; U; Linux x86_64; fr; rv:1.9.0.14) Gecko/2009090216 Ubuntu/8.04 (hardy) Firefox/3.0.14
Mozilla/5.0 (X11; U; Linux x86_64; it; rv:1.9.0.3) Gecko/2008092813 Gentoo Firefox/3.0.3
Mozilla/5.0 (X11; U; Linux x86_64; it; rv:1.9.1.9) Gecko/20100330 Fedora/3.5.9-2.fc12 Firefox/3.5.9
Mozilla/5.0 (X11; U; Linux x86_64; it; rv:1.9.1.9) Gecko/20100402 Ubuntu/9.10 (karmic) Firefox/3.5.9 (.NET CLR 3.5.30729)
Mozilla/5.0 (X11; U; Linux x86_64; pl-PL; rv:1.9.0.1) Gecko/2008071222 Ubuntu/hardy Firefox/3.0.1
Mozilla/5.0 (X11; U; Linux x86_64; pt-BR; rv:1.9b5) Gecko/2008041515 Firefox/3.0b5
Mozilla/5.0 (X11; U; Linux x86_64; rv:1.9.1.1) Gecko/20090716 Linux Firefox/3.5.1
Mozilla/5.0 (X11; U; Linux x86_64; zh-TW; rv:1.9.0.8) Gecko/2009032712 Ubuntu/8.04 (hardy) Firefox/3.0.8 GTB5
Mozilla/5.0 (X11; U; NetBSD alpha; en-US; rv:1.8.1.6) Gecko/20080115 Firefox/2.0.0.6
Mozilla/5.0 (X11; U; OpenBSD amd64; en-US; rv:1.8.0.9) Gecko/20070101 Firefox/1.5.0.9
Mozilla/5.0 (X11; U; OpenBSD i386; en-US; rv:1.8.1.3) Gecko/20070505 Firefox/2.0.0.3
Mozilla/5.0 (X11; U; OpenBSD i386; en-US; rv:1.8.1.7) Gecko/20070930 Firefox/2.0.0.7
Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:1.8.0.5) Gecko/20060728 Firefox/1.5.0.5
Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.8) Gecko/20051130 Firefox/1.5
Mozilla/5.0 (ZX-81; U; CP/M86; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1
Mozilla/5.0 (compatible; Embedly/0.2; +http://support.embed.ly/)
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)
Mozilla/5.0 (compatible; NewShareCounts.com/1.0; +http://newsharecounts.com/crawler)
Mozilla/5.0 (compatible; OpenHoseBot/2.1; +http://www.openhose.org/bot.html)
Mozilla/5.0 (compatible; Windows; U; Windows NT 6.2; en-US; rv:12.0) Gecko/20120403211507 Firefox/12.0
Mozilla/5.0 (compatible; XoviBot/2.0; +http://www.xovibot.net/)
Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)
Mozilla/5.0 (compatible; imrbot/1.10.8 +http://www.mignify.com)
Mozilla/5.0 (compatible; um-LN/1.0; mailto: techinfo@ubermetrics-technologies.com)
Mozilla/5.0 (iPhone; CPU iPhone OS 8_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12D508 [FBAN/FBIOS;FBAV/46.0.0.54.156;FBBV/18972819;FBDV/iPhone7,2;FBMD/iPhone;FBSN/iPhone OS;FBSV/8.2;FBSS/2; FBCR/
Opera/9.80 (Android; Opera Mini/7.5.32193/37.7549; U; en) Presto/2.12.423 Version/12.16
Python-urllib/2.6
QuerySeekerSpider ( http://queryseeker.com/bot.html )
RebelMouse/0.1 Mozilla/5.0 (compatible; http://rebelmouse.com) Gecko/20100101 Firefox/7.0.1
Ruby
SMRF URL Expander
ShortLinkTranslate
Twitterbot/1.0
Typhoeus - https://github.com/typhoeus/typhoeus
WebIndex
curl/7.24.0
facebookexternalhit/1.1
facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)
jack
postano
python-requests/1.1.0 CPython/2.7.6 Linux/3.13.0-46-generic
python-requests/2.2.1 CPython/2.7.6 Linux/3.13.0-48-generic
python-requests/2.6.0 CPython/2.7.5 Linux/3.10.0-327.3.1.el7.x86_64

2015年12月22日火曜日

年末Loto6ハンター

Loto6 番号を作成するJavascript です。
もっと簡単な書き方があったらコメントください。
よろしくおお願い致します。

よいおとし


function loto6(){
         console.log("年末Loto6ハンター");
         var j = [];
         do{
                var chk = "OK";
                var c = Math.floor(Math.random()*(1-43)+43);
                       for (var i=0; i<j.length; i++){
                                 if(j[i] == c){
                                      chk = "NG";
                                 }
                       }

                       if(chk != "NG"){
                                j.push(c);
                       }

        }while(j.length < 6);
        //j.sort();
        //console.log(j);
        console.log(j.sort());
}

loto6();





/////////////////////////////////////
6組の数字を表示します。

for(var c = 0; c < 6;c++){
      loto6();
}



2015年12月16日水曜日

textarea サイズの変更

textarea サイズの変更


textarea {
    resize: none;
    resize: both;
    resize: horizontal;
    resize: vertical;
}




Javascript

function comment_page_add_main(){
var x = document.getElementById('comment_page_add_main_area');
var comment_area = document.createElement('textarea');
//comment_area.cols="40";
comment_area.rows ="5";
comment_area.style.width="100%";
comment_area.style.resize = "vertical";
comment_area.id = "comment_page_add_main_area";
x.appendChild(comment_area);
}

2015年12月15日火曜日

ページ上にあるイメージを回転する Javascript CSS

ページ上にあるイメージを回転する Javascript CSS。


var j = 0;
var x= document.getElementsByTagName('img')[12];
var x= document.getElementsByTagName('img')[0];

setInterval(deg,30);
function deg(){
       console.log(j);
       x.style.transform = "rotate(" + j + "deg)";
       x.style.transform = "rotate(" + Math.random()*10 + "deg)"
       j++;
}


一定方向に回転します。
x.style.transform = "rotate(" + j + "deg)"; 


不定に回転します。
x.style.transform = "rotate(" + Math.random()*10 + "deg)"



/////////////////////////////////////////

マウスは画像上に移動(mousemove)の時、画像が回転します。
var j = document.getElementsByTagName('img');
for (var i=0; i < j.length; i++){
      j[i].addEventListener("mousemove",function(){this.style.transform = "rotate(" + Math.random()*10 + "deg)",30},false);
}

//////////////////////////////////////////
すべてのimgを回転する。
setInterval(xxx,300);
var i =0;
function xxx(){
        var x = document.getElementsByTagName('img');
        for(var j=0; j< x.length; j++){
                 x[j].style.transform = "rotate(" + i + "deg)";
                 x[j].style.transform = "rotate(" + Math.random()*10 + "deg)";
       }
    i++;
}


///////////////////////////////////////////
すべてのいメールは左右を回転します。360°折り返し

setInterval(xxx,25);
var i =0;
var chk = 0;
function xxx(){
        var x = document.getElementsByTagName('img');
        for(var j=0; j< x.length; j++){
                x[j].style.transform = "rotate(" + i + "deg)";
                //x[j].style.transform = "rotate(" + Math.random()*1 + "deg)";
        }

       if(chk == 0){
                i++;
                if(i == 360){
                        chk = 1;
               }
        }

       if(chk == 1){
                i--;
                if(i == 0){
                       chk = 0;
               }

          }
}
///////////////////////////////////////




例:

2015年12月6日日曜日

DOM 操作

var x = document.getElementById('topMain');

//親要素
element.parentNode;
element.parentElement;

//子要素
element.firstElementChild; //最初の子要素
x.firstChild;
element.lastElementChild;  //最後の子要素
x.lastChild;
element.children; //子要素リスト
x.childNodes;
x.childElementCount;


//1つ前の要素
element.previousElementSibling;
x.previousSibling;

//1つ後の要素
element.nextElementSibling;
x.nextSibling



//要素の作成
var div = document.createElement('div');
div.textContent = 'hoge';
 x.innerText = 'hoge';


//最後の子要素として追加
element.appendChild(div);


//最初の子要素として追加
element.insertBefore(div, element.firstChild);


//要素の直前に追加
element.parentNode.insertBefore(div, element);

//要素の直後に追加
element.parentNode.insertBefore(div, element.nextSibling);
要素の削除

//特定の子要素削除
element.removeChild(child);

//自分を削除
element.parentNode.removeChild(element);

//子要素を全て削除
while (element.firstChild) element.removeChild(element.firstChild);

//子要素を全て削除(part2)
element.textContent = null;
属性の操作

//属性の取得
element.getAttribute('href');

//属性を設定
element.setAttribute('href', 'http://localhost:3000');

//属性を削除
element.removeAttribute('href');
スタイル関連操作

//class追加
element.classList.add('active');

//class削除
element.classList.remove('active');

//classをトグル
element.classList.toggle('active');

//スタイルを直接指定
element.style.backgroundColor = '#ff0000';

SQLITE3


.d  dump
.e  exit
.h help
.i
.q exit
.s schema
.v ver


NULL       NULL値
INTEGER    符号付整数。1, 2, 3, 4, 6, or 8 バイトで格納
REAL       浮動小数点数。8バイトで格納
TEXT       テキスト。UTF-8, UTF-16BE or UTF-16-LEのいずれかで格納
BLOB       Binary Large OBject。入力データをそのまま格納


CREATE TABLE テーブル名(カラム名 PRIMARY KEY, ...);
CREATE TABLE テーブル名(カラム名1, カラム名2, ... , PRIMARY KEY(カラム名1, カラム名2, ...));
CREATE TABLE テーブル名(カラム名 INTEGER PRIMARY KEY, ...);
CREATE TABLE テーブル名(カラム名 INTEGER PRIMARY KEY AUTOINCREMENT, ...);
CREATE TABLE テーブル名(カラム名 NOT NULL, ...);
CREATE TABLE テーブル名(カラム名 UNIQUE, ...);
CREATE TABLE テーブル名(カラム名 DEFAULT 値, ...);
CREATE TABLE テーブル名(カラム名 CHECK(条件式), ...);
CREATE INDEX インデックス名 ON テーブル名(カラム名1, カラム名2, ...);
CREATE UNIQUE INDEX インデックス名 ON テーブル名(カラム名1, カラム名2, ...);
CREATE VIEW ビュー名 AS SELECT文;
CREATE TRIGGER トリガー名 [ BEFORE | AFTER | INSTEAD OF]

CURRENT_TIME         HH:MM:SS形式
CURRENT_DATE         YYYY-MM-DD形式
CURRENT_TIMESTAMP    YYYY-MM-DD HH:MM:SS形式



 { DELETE | UPDATE [OF カラム名, ...] | INSERT } ON テーブル名
 [ FOR EACH ROW | FOR EACH STATEMENT ]
 [ WHERE 条件式 ]
 BEGIN
  SQL文1;
  SQL文2;
  ...
 END;
CREATE TRIGGER トリガー名 UPDATE OF カラム名 ON テーブル名
 BEGIN
  SQL文1;
  SQL文2;
  ...
 END;
CREATE TRIGGER トリガー名 DELETE ON テーブル名
 BEGIN
  SQL文1;
  SQL文2;
  ...
 END;
CREATE TRIGGER トリガー名 INSERT ON テーブル名
 BEGIN
  SQL文1;
  SQL文2;
  ...
 END;


INSERT INTO テーブル名 VALUES(値1, 値2, ...);
INSERT INTO テーブル名(カラム1, カラム2, ...) VALUES(値1, 値2, ...);
INSERT INTO テーブル名 DEFAULT VALUES;
INSERT INTO テーブル名 SQL文;
INSERT INTO テーブル名(カラム名1, カラム名2, ...) SQL文;
REPLACE INTO tbl1 VALUES(1,'古田一郎', '埼玉県', 30);

UPDATE テーブル名 SET カラム名1 = 値1, カラム名2 = 値2, ... WHERE 条件式;
UPDATE テーブル名 SET カラム名1 = 値1, カラム名2 = 値2, ...;

SELECT カラム名1, カラム名2, ... FROM テーブル名;
SELECT カラム名 , ... FROM テーブル名 ORDER BY カラム名1 [ASC | DESC], カラム名2 [ASC | DESC], ...;
SELECT カラム名 , ... FROM テーブル名 WHERE 条件式;
SELECT カラム名 , ... FROM テーブル名 WHERE カラム >= 値1 AND カラム <= 値2;
SELECT カラム名 , ... FROM テーブル名 WHERE カラム BETWEEN 値1 AND 値2;
SELECT カラム名 , ... FROM テーブル名 WHEREカラム NOT BETWEEN 値1 AND 値2;
SELECT カラム名 , ... FROM テーブル名 WHERE カラム >= 値1 OR カラム <= 値2 OR ...;
SELECT カラム名 , ... FROM テーブル名 WHERE カラム IN(値1, 値2, ...);
SELECT カラム名 , ... FROM テーブル名 WHERE カラム NOT IN(値1, 値2, ...);
SELECT カラム名 , ... FROM テーブル名 WHERE カラム IN(SELECT カラム名 FROM テーブル名);
SELECT カラム名 , ... FROM テーブル名 WHERE カラム NOT IN(SELECT カラム名 FROM テーブル名);
SELECT カラム名 , ... FROM テーブル名 WHERE カラム LIKE パターン;
 select author from vid where author like '%kan%';
SELECT カラム名 , ... FROM テーブル名 WHERE カラム LIKE パターン ESCAPE エスケープ文字;
SELECT カラム名 , ... FROM テーブル名 WHERE カラム GLOB パターン;
SELECT カラム名 , ... FROM テーブル名 WHERE カラム IS NULL;
SELECT カラム名 , ... FROM テーブル名 WHERE カラム IS NOT NULL;
SELECT カラム名 AS 別名, ... FROM テーブル名;
SELECT DISTINCT カラム名, ... FROM テーブル名;
SELECT ALL カラム名, ... FROM テーブル名;
SELECT カラム名, ... FROM テーブル名 LIMIT 行数;
SELECT カラム名, ... FROM テーブル名 LIMIT 行数 OFFSET 開始位置;
SELECT カラム名, ... FROM テーブル名 LIMIT 開始位置, 行数;
SELECT カラム名 演算子 値 FROM テーブル名;
SELECT
  CASE
    WHEN 条件式1 THEN 値1
    WHEN 条件式2 THEN 値2
    ELSE 値3
  END
FROM テーブル名;
SELECT
  CASE 式
    WHEN 値1 THEN 式1
    WHEN 値2 THEN 式2
    ELSE 式3
  END
FROM テーブル名;
SELECT カラム名, ... FROM テーブル名 GROUP BY カラム名, カラム名, ...;
SELECT カラム名, ... FROM テーブル名 WHERE 条件式 GROUP BY カラム名, ...;
SELECT カラム名, ... FROM テーブル名 GROUP BY カラム名, ... HAVING 条件式;
SELECT テーブル名.カラム名, ... FROM テーブル名1 INNER JOIN テーブル名2 ON テーブル名1.カラム名1 = テーブル名2.カラム名2;
SELECT テーブル名.カラム名, ... FROM テーブル名1 LEFT OUTER JOIN テーブル名2 ON テーブル名1.カラム名1 = テーブル名2.カラム名2;
SELECT テーブル名.カラム名, ... FROM テーブル名1 RIGHT OUTER JOIN テーブル名2 ON テーブル名1.カラム名1 = テーブル名2.カラム名2;
SELECT テーブル名.カラム名, ... FROM テーブル名1 FULL OUTER JOIN テーブル名2 ON テーブル名1.カラム名1 = テーブル名2.カラム名2;
SELECT テーブル名.カラム名, ... FROM テーブル名1 CROSS JOIN テーブル名2 ON テーブル名1.カラム名1 = テーブル名2.カラム名2;
SELECT テーブル名.カラム名, ... FROM テーブル名1 NATURAL INNER JOIN テーブル名2;
SELECT テーブル名.カラム名, ... FROM テーブル名1 NATURAL LEFT OUTER JOIN テーブル名2;
SELECT 別名1.カラム名, ... FROM テーブル名 別名1 INNER JOIN テーブル名 別名2 ON 別名1.カラム名 = 別名2.カラム名;

ALTER TABLE テーブル名 RENAME TO 新しいテーブル名;
ALTER TABLE テーブル名 ADD COLUMN カラム名[ データ型];
ALTER TABLE tbl_name ADD [COLUMN] column_definition;
ALTER TABLE tbl_name ADD [COLUMN] column_definition FIRST;
ALTER TABLE tbl_name ADD [COLUMN] column_definition AFTER col_name;
ALTER TABLE tbl_name DROP [COLUMN] col_name;c
ALTER TABLE tbl_name RENAME [TO] new_tbl_name;

DROP VIEW ビュー名;
DROP INDEX インデックス名;
DROP TRIGGER トリガー名;
DROP TABLE テーブル名
DELETE FROM テーブル名 WHERE 条件式;
DELETE FROM テーブル名;
VACUUM;


SQLite関数
SUM 総和を求める。
MAX 最大値を求める。
MIN 最小値を求める。
AVG 平均値を求める。
COUNT 総数を求める。
total(カラム名)

集計関数(Aggregate Functions)
count カラムまたはテーブルに含まれる行数を取得
select count(address) from customer;
select count(*) from customer;


sum  / total カラムの値の合計を取得
avg カラムの値の平均を取得
max  / min カラムの値の最大値と最小値を取得
group_concat グループ内のカラムの値を連結

日付/時刻関数(Date And Time Functions)
date  / time  / datetime 日付と時刻を取得
julianday 日付と時刻をユリウス日で取得
strftime 指定のフォーマットで日付と時刻を取得
Modifiers(修飾子)の指定
Modifiersの指定方法
// select date('now');



コア関数(Core Functions)
length 文字数を取得
lower  / upper 文字列を小文字/大文字に変換
replace 文字列を別の文字列に置換
substr 部分文字列を取得
trim  / rtrim  / ltrim 文字列の前後から特定の文字を取り除く
quote クォートした結果を取得
round 数値を四捨五入する
abs 数値の絶対値を取得
random 数値の乱数を生成
hex BLOB型の値を16進数表記する
randomblob BLOB型の値の乱数を生成
zeroblob 指定したバイト数分のBLOB型の0x00の値を生成
changes 直近に実行されたSQL文により更新/削除/追加された行数を取得
total_changes データベースに接続後にSQL文により更新/削除/追加されたトータル行数を取得
ifnull / coalesce NULLでない最初の値を取得
nullif 2つの値を比較し、等しければNULL、異なれば最初の値を返す
last_insert_rowid 最後に挿入された行のROWIDを取得
typeof 値のデータ型を取得
sqlite_version SQLiteのバージョンを取得




CREATE VIEW tp5 as select * from qeid where strftime('%s','now')-time<86400 orde
r by acc desc limit 5;

2015年12月1日火曜日

onkeydown の動作

onkeydown  の動作

e.addEventListener('keydown', chk);  
 'keyup' に変更してください。


[Javascript キーワード補完] 作成の下準備です。


<html>
<body>
<input type="text" id = "input"></input>
</body>
</html>
<script>

onload = function (){
        var e = document.getElementById('input');
        e.addEventListener('keydown', chk);
}

//onkeydown = function (){
//        var e = document.getElementById('input');
//        console.log(e.value);
//}


function chk(){
        var e = document.getElementById('input');
        console.log(e.value);
}

</script>


一回目のキーダウンは二回目押した時に反映されます。
ロマ入力した場合、




英語入力の場合、








2015年11月20日金曜日

Youku の API

Youku の API

Player API です。 YouTube IFrame APIと似ってます。
client_id の項目はYoutube にはない。





2015年11月1日日曜日

Chrome insert_js.js

manifest.json
//////////////////////////////////////////////////////

{
  "name": "YouTools",
  "version": "1.1",
  "description": "Plsylist Tools",
  "manifest_version":2,
   "background": {
      "scripts": [ "background.js" ]
   },
  "browser_action": {
"default_icon": "icon_16.png",
"default_popup": "default_popup.html"
  },
 
  "icons":{"19":"GB-19.png",
"48":"GB-48.png",
"128":"GB-128.png"
},
 
 
   
   "permissions": ["bookmarks",
"tabs",
"activeTab",
"idle",
"cookies",
"*://*/*",
"system.cpu" ,
"system.memory",
"system.storage",
"downloads",
"storage"],

"content_scripts":[{
"matches":["*://*/*"],
"js":["insert_js.js"]
                       }
]

}








insert_js.js
/////////////////////////////////////////////////////////

function body_color(){
var jjj = document.getElementsByTagName('body');
jjj[0].style.backgroundColor="rgba(114, 174, 185, 0.26)";
}

function abc(){
var jt = document.getElementsByClassName('more-menu-wrapper');
if(jt.length > 0){
chk = "ok";
}

var you_dl = document.getElementsByClassName("yt-alert yt-alert-default yt-alert-info  playlist-cleared-of-deleted-videos-alert");
if(you_dl.length > 0){
chk = "ng";
}

for(var i in jt){
if(jt[i].childNodes){
if(jt[i].childNodes.length === 1){
jt[i].parentNode.parentNode.style.backgroundColor = 'red';
var tt = document.getElementById('pl-header')
tt.style.backgroundColor = 'red';
var ttt = document.getElementById('yt-masthead-container');
ttt.style.backgroundColor = 'red';
chk = "ng";
}else{
//console.clear();
}
}
}
}


// class="yt-alert yt-alert-default yt-alert-info  playlist-cleared-of-deleted-videos-alert"


function chk_my_item(){
var tag = document.getElementsByClassName('yt-uix-sessionlink g-hovercard      spf-link ');
if(tag.length > 0){
for(var i in tag){
if(tag[i].href == 'https://www.youtube.com/user/XXXXXID' ||
  tag[i].href == 'https://www.youtube.com/user/XXXXXID' ||
  tag[i].href == "https://www.youtube.com/channel/UCNSXxplP-UWcZFz3-wDM3RQ" ||
  tag[i].href == "https://www.youtube.com/channel/UCKWg8wctnd4q7z_5ojOclKA" ||
  tag[i].href == "https://www.youtube.com/channel/UCk0QT-xjO1y4gsa2bFyNDjQ" ){
  tag[i].parentNode.parentNode.parentNode.style.backgroundColor='Gold';
}
}
}

var tag2 = document.getElementsByClassName('g-hovercard');
if(tag2.length > 0){
for(var x  in tag2){
if(tag2[x].innerText == "XXXID" ||
  tag2[x].innerText == "XXXXID" ||
  tag2[x].innerText == "XXXXXID" ){
  tag2[x].parentNode.parentNode.parentNode.style.backgroundColor='Gold';
}
}
}
}


function chk_del_user(){
var tag = document.getElementsByClassName('yt-uix-sessionlink g-hovercard      spf-link ');
if(tag.length > 0){
for(var i in tag){
if(
tag[i].href == 'https://www.youtube.com/channel/UCPv4x_sLkl8tsBCS--aoASQ' ||
tag[i].href == 'https://www.youtube.com/channel/UC41FuIPvXyIYFjoGU-UCNSw' ||
tag[i].href == 'https://www.youtube.com/user/RyansLyfe' ||
tag[i].href == 'https://www.youtube.com/channel/UCQjh-JVPNWfY-KsZS3RgRHw' ||
tag[i].href == 'https://www.youtube.com/user/ClevverNews' ||
tag[i].href == 'https://www.youtube.com/channel/UCPOzcixjIIj-F7WxtFLoeWA' ||
tag[i].href == 'https://www.youtube.com/channel/UCvTDwUGW41jGzrKUrNAjW3w' ||
tag[i].href == 'https://www.youtube.com/channel/UCIrzk08B6OHq6CTEi5LTM-A' ||
tag[i].href == 'https://www.youtube.com/channel/UCiw-Il_jgZlDokbIXOBAwBw' ||
tag[i].href == 'https://www.youtube.com/channel/UCCwEw5ZlP3QmgISJplp4rNA' ||
tag[i].href == 'https://www.youtube.com/channel/UCj_TUjpxaS1iuK8roR7bB0w' ||
tag[i].href == 'https://www.youtube.com/channel/UCe9sr3nyVycsbXB1PlJQ63w' ||
tag[i].href == 'https://www.youtube.com/channel/UCarB6_K5Hy422asmDX9T1ew' ||
tag[i].href == 'https://www.youtube.com/channel/UCAuxXt4w3hAJJKA_Xy5mDZQ' ||
tag[i].href == 'https://www.youtube.com/channel/UCfG-I3AEbrxM0bp3xCJVk5g' ||
tag[i].href == 'https://www.youtube.com/channel/UC9a6e6Hd7ShWcnGkNVcomoA' ||
tag[i].href == 'https://www.youtube.com/channel/UCNwgG5F2W8OJ4G37WYh1RqA' ||
tag[i].href == 'https://www.youtube.com/channel/UCMbTe5JqeDWsEHcbIzapiAQ' ||
tag[i].href == 'https://www.youtube.com/channel/UC5S_v9ReRER5VHPciNPabQw'
  ){
  tag[i].parentNode.parentNode.parentNode.style.backgroundColor='red';
  chk = "ng";
}
}
}
}


function auto_link(){
var ja = document.getElementsByClassName('vm-video-title-text yt-uix-sessionlink');
var cont = ja.length;

function aut(){
cont = cont -1;
if(opener == null && location.pathname == "/view_all_playlists"){
document.title = cont;
}

if(ja[cont]){
oper = open(ja[cont].href);
if(oper.readyState = 4){
var scont = oper.document.getElementById("masthead-search-term");
console.log(scont);
}
}

if(cont < 0 ){
clearInterval(opentime);
if(opener == null && location.pathname == "/view_all_playlists"){
document.title = "end";
}
}
}

opentime = setInterval(aut,2500);
}

onchange = function(){
abc();
chk_my_item();
}

onmousemove = function(){
chk = "ng";
body_color();
chk_my_item();
if(typeof(opentime) != "undefined"){
clearInterval(opentime);
}
if(typeof(closetime) != "undefined"){
clearTimeout(closetime);
}
abc();
}

onmouseover = function(){
chk = "ng";
body_color();
chk_my_item();
if(typeof(opentime) != "undefined"){
clearInterval(opentime);
}
if(typeof(closetime) != "undefined"){
clearTimeout(closetime);
}
abc();
}

onload = (function(){
chk = "ng";
abc();
chk_my_item();
chk_del_user();
if(chk == "ok" && opener.location.hostname == "www.youtube.com"){
closetime = setTimeout(close,3000);
}
setTimeout(auto_link,6000);
})()





2015年10月31日土曜日

YouTube 埋め込みプレーヤー

YouTube 埋め込みプレーヤー

nextVideo

previousVideo

playVideo

stopVideo

pauseVideo

seekTo30

mute

volumeP

volumeM

2015年10月30日金曜日

日本の税金は高いですね

日本の税金は高いですね

ランクは下がるしかないですね。残念だね

www





2015年10月26日月曜日

YouTube Player API

YouTube Player API



class player{
public function player(){
if(array_key_exists('t',$_REQUEST)
  and array_key_exists('l',$_REQUEST)
      and array_key_exists('url',$_REQUEST)){
$this->urltime = $_GET['t'];
$this->playlist = $_GET['l'];
$this->yturl = $_GET['url'];
$this->yturl_3item = $this->para($_GET['url']);
$temp = array();
foreach ($this->yturl_3item as $val){
$temp[count($temp)] = sprintf("'%s'",$val);
}
$this->list_item = '['.implode(",",$temp ).']';
$this->you_player_api($this->playlist,$this->yturl_3item[0],$this->list_item);
}else{
$this->you_player_api('PLvswSo32Xlu_tBfEDzpuFQ-lUFP1_Aq5I','_sQSXwdtxlY','["GLyYUyVH2PI","RgKAFK5djSk"]');
}
}

public function player_area(){
$div_area = sprintf('<div id = "player_area" >
<div id = "player"></div>
</div>
');
echo $div_area;
}

public function debug_show(){
echo '<pre>';
echo $this->urltime;
echo '<br>';
echo $this->playlist;
echo '<br>';
echo $this->yturl;
echo '<br>';
print_r( $this->yturl_3item);
echo $this->yturl_3item[0];
}

public function para($url){
$temp=array();
$temp2=array();
$temp=explode('=',$url);
$temp2=explode('|',$temp['1']);
return $temp2;
}

public function you_player_api($playlist,$videoid,$array_list){
$player = sprintf("
<script>
var tag = document.createElement('script');
tag.src = 'https://www.youtube.com/iframe_api';
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player;
var playlist = '%s';
var videoid = '%s';
var array_list = %s;
var h = '240';
var w = '320'
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: h,
width: w,
videoId: 'CNNDRO3imrs',
playerVars:{
'controls':'1',
'disablekb':'0',
'playsinline':'0'
},
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange,
'onError':onPlayerError
}
});
}

   function onPlayerReady(event) {
//event.target.cuePlaylist({list:'PLvswSo32Xlu9BOn94xy-Xd_mTsMIny639'});
var j = event.target.cuePlaylist({list:playlist});
console.log (j.length);
if(j.length == 0){
one_list_play(event.target);
}
}

function onPlayerStateChange(event) {
console.log('onPlayerStateChange');
console.log(player.getAvailableQualityLevels());
console.log(player.getPlaybackQuality());
event.target.setPlaybackQuality('tiny');
if(event.target.getPlayerState() === 5 ){
event.target.setSize(w,h);
var list_items = event.target.getPlaylist();
var list_index = list_items.indexOf(videoid);
if(list_index >-1 ){
//event.target.loadPlaylist({list:playlist,index:list_index,startSeconds:3});
event.target.playVideoAt(list_index);
}
if(list_index == -1 ){
//event.target.loadPlaylist({playlist:array_list});
one_list_play(event.target);
}
}
}

function one_list_play(event){
console.log('000111');
event.loadPlaylist({playlist:array_list});
}

function onPlayerError(event){
event.target.nextVideo();
console.log('onPlayerError');
}

</script>"
,$playlist,$videoid,$array_list);
echo $player;
}
}