2014年3月15日土曜日

SimpleXMLでCDATAの取り扱い

SimpleXMLでCDATAの取り扱い

simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA);

simplexml_load_file($xml, 'SimpleXMLElement', LIBXML_NOCDATA);

$xmlo=simplexml_load_file($this->xmlurl,$class_name = "SimpleXMLElement",LIBXML_NOCDATA);

SimpleXMLElement simplexml_load_file ( string $filename [, string $class_name = "SimpleXMLElement" [, int $options = 0 [, string $ns = "" [, bool $is_prefix = false ]]]] )


options
   PHP 5.1.0 と Libxml 2.6.0 から、追加の Libxml パラメータ を指定するために options を使用することもできます。


LIBXML_NOCDATA (integer)
   CDATA をテキストノードとしてマージ



2014年3月12日水曜日

iPhone からのアクセスが圧倒的に多き

iPhone からのアクセスが圧倒的に多き


Android のアクセスは目立たないぐらい、20%ぐらい弱



ログファイル




2014年3月9日日曜日

robots.txtの記録

robots.txtの記録

robots.txtの書き方

SEO設定

robots.txt ファイルが必要となるのは、サイトに検索エンジンのインデックスに登録したくないコンテンツが含まれる場合のみです。サイトのすべてのコンテンツを検索エンジンのインデックスに登録したい場合は、robots.txt ファイルは(空のものでも)必要ありません。


User-agent:
Disallow:
Allow:
 一行空ける
Sitemap: http://hpapi.blogspot.com/feeds/posts/default?orderby=UPDATED


User-agent:例
User-agent:               //クローラー
User-agent: *              //全てのクローラー
User-agent: Mediapartners-Google  //指定クローラー
User-agent: Googlebot-Image
User-agent: Googlebot


User-agent:例
Disallow                                       //ブロック
Disallow: /                //サイト全体をブロック
Disallow: /directory/                     //指定ディレクトリ
Disallow: /file.html                         //指定ページ
Disallow: /*?                                //すべての URL へのアクセス
Disallow: /*.txt$                           // すべての *.txt


Allow: 例
Allow:                   //クローラー許可
Allow:/directory/files.html              //


基本的に下記でOKですが
User-agent: *
Disallow:


検索エンジンにクローラーされたくない時に
Disallow: /affiliate/

を追加します。



大手サイトの例
http://www.google.co.jp/robots.txt
http://jp.msn.com/robots.txt
https://www.facebook.com/robots.txt
https://twitter.com/robots.txt
http://www.rakuten.co.jp/robots.txt
    User-Agent: *
   Disallow: /images/
   Disallow: /backup/
   Disallow: /cgi-bin/
   Disallow: /shops/         Shopsがロックされています。




参考
https://support.google.com/webmasters/answer/156449?hl=ja









追記:
サイト管理者やページ作者がクロールを防ぐ (制御する) 手段として ロボット除け規約 が定着しています. その設定方法には以下の2通りの方法があります.


  • robots.txt ファイル

  • あなたがサイト管理者で, 必要な権限を持っているなら, クローラへの指示を記述した /robots.txt というファイルをサイトのトップに 置いて下さい (http://www.your-site.com/robots.txt など). 例えば, 以下の記述は Steeler があなたのサイトからダウンロードするのを 全面的に 禁止します.

        User-agent: Steeler
        Disallow: /
  • Disallow にはパス名の先頭部分 (プレフィックス) の他, ワイルドカード "*" や パス末尾を表す "$" を使うことができます. 例えば, 以下の記述は /images ディレクトリ以下のコンテンツとともに, 拡張子 .gif を持つコンテンツをアクセス禁止にします.

        User-agent: Steeler
        Disallow: /images/
        Disallow: *.gif$
  • アクセスの頻度が問題になる場合, Crawl-delay を指定して下さい. 例えば, 以下の記述はサイトへのアクセスの間隔を 少なくとも 30 秒空けるよう指示します.

        User-agent: Steeler
        Crawl-delay: 30.0

  • Robots メタタグ

  • あなたが HTML (テンプレート) のソースを編集できるなら, robots メタタグ を利用することもできます. HTML 文書のヘッダに

        <META NAME="robots" CONTENT="noindex,nofollow">
  • という行を記述すると, Steeler はその文書からのリンクを たどらなくなります.





2014年3月8日土曜日

Windows FTP  記憶しておきたいコマンド

Windows FTP  記憶しておきたいコマンド


FTPコマンド

-i   複数ファイルの転送の際に対話型プロンプトを表示しないようにします。 

注:追加してFTPコマンドを起動すると複数ファイルの操作時に対話が表示されなくなります。
  例え複数ファイルを削除する際にファイルの確認メッセージが表示されなくなります。
  例: delete *.txt

-s:FileName
   ftp コマンドが含まれているテキスト ファイルを指定します。これらのコマンドは、
   ftp を起動すると自動的に実行されます。このパラメータにスペースを含めること
   はできません。リダイレクト (<) の代わりに、このパラメータを使ってください。

   例: ファイル
             ftpcmd.txt
             open
             server.net
             user
             passwd
      verbose
             cd abc
             dir
             close
             quit

      実行方法
      ftp -i -s:ftpcmd.txt


FTPサプコマンド

verbose   既定では、verbose は有効になっています。verbose モードが有効になっている
       と、ftp のすべての応答が表示されます。ファイル転送が完了すると、転送効率
       に関する統計情報も表示されます。 



よく使われるコマンド

ftp -i -s:file.txt






FTPコマンド詳細一部

構文
  ftp [-v] [-d] [-i] [-n] [-g] [-s:FileName] [-a] [-w:WindowSize] [-A] [Host]

パラメータ
  -v  FTP サーバーの応答を表示しないようにします。 
  -d  FTP クライアントと FTP サーバー間で渡されたすべてのコマンドを表示して、
      デバッグできるようにします。 
  -i   複数ファイルの転送の際に対話型プロンプトを表示しないようにします。 
  -n   初期接続を行ったときに、自動的にログオンする機能を無効にします。 
  -g   ファイル名の globbing を無効にします。glob は、ローカル ファイル名
      およびパス名で、アスタリスク (*) と疑問符 (?) をワイルドカード文字として
      使えるようにします。詳細については、「Ftp : glob」を参照してください。 
  -s:FileName 
      ftp コマンドが含まれているテキスト ファイルを指定します。これらのコマンド
      は、ftp を起動すると自動的に実行されます。このパラメータにスペースを
      含めることはできません。リダイレクト (<) の代わりに、このパラメータを
      使ってください。 
  -a   FTP データ接続をバインドするときに、任意のローカル インターフェイスを
      使用できることを指定します。 
  -w:WindowSize 
      転送バッファのサイズを指定します。既定のウィンドウ サイズは 4096 バイトです。 
  -A   FTP サーバーに匿名ユーザーとしてログオンします。 
  Host 
      接続する FTP サーバーのコンピュータ名、IP アドレス、または IPv6 アドレスを
      指定します。ホスト名またはアドレスを指定する場合は、行の最後のパラメータ
      として指定する必要があります。 












2014年3月2日日曜日

訳の分からないuserAgent(ユーザーエージェント)

訳の分からないuserAgent(ユーザーエージェント)


ロポットとユーザーを区別して対応するための Function 。


<?php
mf_rot();

function mf_rot(){
//echo '<br>';
//echo $_SERVER['HTTP_USER_AGENT'];
//echo '<br>';
//echo $_SERVER['HTTP_ACCEPT_LANGUAGE'];
//echo '<br><br><br><br><br><br>';

$ulg=array();
$robots=array(' ',
'Java/1.7.0_25',
'Twitterbot/1.0',
'ceron.jp/1.0',
'NING/1.0',
'Apache-HttpClient/4.3 (java 1.5)',
'Google-HTTP-Java-Client/1.17.0-rc (gzip)',
'MetaURI API/2.0 +metauri.com',
'Yahoo:LinkExpander:Slingstone',
'EventMachine HttpClient',
'ShortLinkTranslate',
'msnbot/1.1 (+http://search.msn.com/msnbot.htm)',
'QuerySeekerSpider ( http://queryseeker.com/bot.html )',
'facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)',
'Y!J-BRW/1.0 crawler (http://help.yahoo.co.jp/help/jp/search/indexing/indexing-15.html)',
'HTTP_Request2/2.2.1 (http://pear.php.net/package/http_request2) PHP/5.5.9',
'Mozilla/5.0 ()',
'Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 5.1; SLCC1; .NET CLR 1.1.4322)',
'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)',
'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)',
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8) AppleWebKit/536.25 (KHTML, like Gecko) Version/6.0 Safari/536.25',
'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko',
'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; ARM; Trident/6.0)',
'Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1',
'Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)', //***
'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)', //***
);

if(!empty($_SERVER['HTTP_USER_AGENT']) and !empty($_SERVER['HTTP_ACCEPT_LANGUAGE'])){
if (!in_array($_SERVER['HTTP_USER_AGENT'],$robots)){
$ulg=explode(',',$_SERVER['HTTP_ACCEPT_LANGUAGE']);

if($ulg['0']=='ja' or $ulg['0']=='ja-jp'){
echo '<br>ja-jP<br>';
echo '<br>is user<br>';
echo '<br>is japanese<br>';
}else{
echo '<br>is not japanese<br>';
echo '<br>exit1<br>';
}
}else{
echo '<br>is Robot<br>';
echo '<br>exit2<br>';
}
}else{
echo '<br>Empty<br>';
}
}
?>

2014年2月23日日曜日

システム連携を加速させる、ショッピングAPI のご紹介

システム連携を加速させる、ショッピングAPI のご紹介


2014/3/13(Thu) 17:00 - 21:30(door16:30)

Yahoo!ショッピングによる、「エンジニア」のためのイベントです。
当社では、2013年10月7日ストアカンファレンスにて「e コマース革命」を宣言いたしました。
同席上にて、テクニカルディレクターより今後すべてのAPIを公開しオープン化を促進していく事も発表させていただいておりますが、この度約50本のAPIをリリースいたします。
本イベントでは、Yahoo!ショッピングのオープン化の戦略、公開するAPIの詳細説明、ec業界のキープレイヤーによるトークセッションなど、各種コンテンツをご用意しております。
エンジニアの皆様の参加を心よりお待ちしています!

感想:
    行きたい

2014年2月22日土曜日

$value foreach 内部で解除すべきか、外部解除すべきか?

警告
foreach ループを終えた後でも、 $value は配列の最後の要素を参照したままとなります。 unset() でその参照を解除しておくようにしましょう。

と書いてありますが、foreach 内部で解除すべきか、外部解除すべきか?





<?php
$v=array('A'=>'aaa',
'B'=>'bbb',
'C'=>'ccc'
);

foreach ($v as $key=>$val){
echo $key;
echo '=>';
echo $val;
echo '<br>';
unset($key);
unset($val);

}

unset($key);
unset($val);

echo 'end foreach<br>';
echo $key;
echo '=>';
echo $val;
echo '<br>';

?>