<?xml version="1.0" encoding="utf-8"?>

<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
  xmlns:admin="http://webns.net/mvcb/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:cc="http://web.resource.org/cc/"
  xmlns="http://purl.org/rss/1.0/">

<channel rdf:about="http://shimax.cocolog-nifty.com/search/">
<title>WEBプログラミング NOW!</title>
<link>http://shimax.cocolog-nifty.com/search/</link>
<description>Mac、Linux、Javascript、CSS、文字化けなどについて。</description>
<dc:language>ja-JP</dc:language>
<dc:creator></dc:creator>
<dc:date>2008-02-22T14:55:59+09:00</dc:date>
<admin:generatorAgent rdf:resource="http://www.typepad.com/" />


<items>
<rdf:Seq><rdf:li rdf:resource="http://shimax.cocolog-nifty.com/search/2008/02/post_c189.html" />
<rdf:li rdf:resource="http://shimax.cocolog-nifty.com/search/2008/02/phppearxml_d737.html" />
<rdf:li rdf:resource="http://shimax.cocolog-nifty.com/search/2008/02/perlcgi_6abe.html" />
<rdf:li rdf:resource="http://shimax.cocolog-nifty.com/search/2008/02/perlcgi0x0d0x0d_5b94.html" />
<rdf:li rdf:resource="http://shimax.cocolog-nifty.com/search/2008/01/macosxwebperlcg_8979.html" />
<rdf:li rdf:resource="http://shimax.cocolog-nifty.com/search/2008/01/emeditoreuc_dd8b.html" />
<rdf:li rdf:resource="http://shimax.cocolog-nifty.com/search/2008/01/phpwarning_fope_35ce.html" />
</rdf:Seq>
</items>

</channel>

<item rdf:about="http://shimax.cocolog-nifty.com/search/2008/02/post_c189.html">
<title>楽天ブックスで送料無料にする方法</title>
<link>http://shimax.cocolog-nifty.com/search/2008/02/post_c189.html</link>
<description>インターネットで買い物をすると、とても便利です。田舎に住んでいると、なおさらそう...</description>
<content:encoded>&lt;a href=&quot;http://px.a8.net/svt/ejp?a8mat=OD4YQ+9QOC36+1N6+5ZMCH&quot; target=&quot;_blank&quot;&gt;
&lt;img border=&quot;0&quot; width=&quot;468&quot; height=&quot;60&quot; alt=&quot;&quot; src=&quot;http://www26.a8.net/svt/bgt?aid=040923746589&amp;wid=001&amp;eno=01&amp;mid=s00000000213001006000&amp;mc=1&quot;&gt;&lt;/a&gt;
&lt;img border=&quot;0&quot; width=&quot;1&quot; height=&quot;1&quot; src=&quot;http://www14.a8.net/0.gif?a8mat=OD4YQ+9QOC36+1N6+5ZMCH&quot; alt=&quot;&quot;&gt;&lt;br&gt;&lt;br&gt;
インターネットで買い物をすると、とても便利です。田舎に住んでいると、なおさらそうです（笑？）。田舎の場合、近所の本屋には、プログラムの本はほとんどゼロです。ですから、Amazonや&lt;A HREF=&quot;http://px.a8.net/svt/ejp?a8mat=OD4YQ+9QOC36+1N6+64C3M&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;楽天ブックス&lt;/b&gt;&lt;/A&gt;&lt;img border=&quot;0&quot; width=&quot;1&quot; height=&quot;1&quot; src=&quot;http://www10.a8.net/0.gif?a8mat=OD4YQ+9QOC36+1N6+64C3M&quot; alt=&quot;&quot;&gt;で買い物したりするのですが、問題になってくるのが送料の問題です。Amazonの場合、税込み1,500円以上で送料無料となるため、税込み1,470円の本を買おうと思った場合、非常に躊躇します。送料300円があるだけで悩みます。&lt;br&gt;&lt;br&gt;
送料無料にするために100円とか200円の本があれば良いのにと思ったことは何度あったか分かりません。&lt;br&gt;&lt;br&gt;
&lt;div style=&quot;float:left;width:110px;&quot;&gt;
&lt;a href=&quot;http://px.a8.net/svt/ejp?a8mat=OD4YQ+9QOC36+1N6+6CP0X&quot; target=&quot;_blank&quot;&gt;
&lt;img border=&quot;0&quot; width=&quot;100&quot; height=&quot;100&quot; alt=&quot;&quot; src=&quot;http://www26.a8.net/svt/bgt?aid=040923746589&amp;wid=001&amp;eno=01&amp;mid=s00000000213001067000&amp;mc=1&quot;&gt;&lt;/a&gt;&lt;img border=&quot;0&quot; width=&quot;1&quot; height=&quot;1&quot; src=&quot;http://www15.a8.net/0.gif?a8mat=OD4YQ+9QOC36+1N6+6CP0X&quot; alt=&quot;&quot;&gt;
&lt;/div&gt;同様に、楽天ブックスでも税込み1,575円以上なら送料無料になるため、1,400円台の書籍が欲しい場合に非常に悩みますね。たったの送料250円がもったいなく感じます。ところが、つい今しがた知ったのですが、&lt;span class=&quot;red_line&quot;&gt;コンビニでの店頭受け取りを選んだ場合は、ご注文金額にかかわらず送料無料&lt;/span&gt;になるんですよね。ファミリーマートなら、ビデオ屋（韓国ドラマにはまっていて、よく「朱蒙」などを借りに行きます。）に行く途中にありますし、私には非常に都合が良いです。&lt;br&gt;&lt;br&gt;
コンビニで受け取るのも都合が悪いという場合は、送料を甘受するか、それとも100円とか200円の本を探すしかなさそうですが、楽天が公開しているAPIで価格検索ができるので、こんなのを作ってみました。&lt;br&gt;&lt;br&gt;
&lt;a href=&quot;http://rbooks.webfaq.jp/cheap101293/&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;300円以下でも購入できる書籍&lt;/b&gt;&lt;/a&gt;（2008年2月22日現在、31円という本もありますね。）&lt;br&gt;&lt;br&gt;
&lt;a href=&quot;http://rbooks.webfaq.jp/cheap208866/&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;絵本の場合、100円台も多いです。&lt;/b&gt;&lt;/a&gt;（お子様をお持ちの方向け）&lt;br&gt;&lt;br&gt;
&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-2530061094004958&quot;;
google_alternate_ad_url = &quot;http://www.shtml.jp/ad_468_60.html&quot;;
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = &quot;468x60_as&quot;;
google_ad_channel =&quot;9825317797&quot;;
google_ad_type = &quot;text&quot;;
google_color_border = &quot;336699&quot;;
google_color_bg = &quot;FFFFFF&quot;;
google_color_link = &quot;0000FF&quot;;
google_color_url = &quot;008000&quot;;
google_color_text = &quot;000000&quot;;
//--&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
  src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;</content:encoded>


<dc:subject>書籍・雑誌</dc:subject>

<dc:creator>shimax</dc:creator>
<dc:date>2008-02-22T14:55:59+09:00</dc:date>
</item>
<item rdf:about="http://shimax.cocolog-nifty.com/search/2008/02/phppearxml_d737.html">
<title>PHP・PEARでXMLを処理する</title>
<link>http://shimax.cocolog-nifty.com/search/2008/02/phppearxml_d737.html</link>
<description>Amazonでアフィリエイトをしているのですが、Amazon.co.jpからメー...</description>
<content:encoded>&lt;div style=&quot;float:right;padding:10px;&quot;&gt;
&lt;a href=&quot;http://px.a8.net/svt/ejp?a8mat=UBFL5+1MXXO2+K2I+60OXD&quot; target=&quot;_blank&quot;&gt;
&lt;img border=&quot;0&quot; width=&quot;125&quot; height=&quot;125&quot; alt=&quot;&quot; src=&quot;http://www20.a8.net/svt/bgt?aid=050921897099&amp;wid=001&amp;eno=01&amp;mid=s00000002601001011000&amp;mc=1&quot;&gt;&lt;/a&gt;
&lt;img border=&quot;0&quot; width=&quot;1&quot; height=&quot;1&quot; src=&quot;http://www15.a8.net/0.gif?a8mat=UBFL5+1MXXO2+K2I+60OXD&quot; alt=&quot;&quot;&gt;
&lt;/div&gt;
Amazonでアフィリエイトをしているのですが、Amazon.co.jpからメールが先日届きました。ECS 4.0に移行する案内メールは何度か送っているが、まだのようだから連絡してくれたとのことです。ECS 3.0は3月末で終了するという。ああ、すっかり忘れていたか、メールを見落としていました。&lt;br&gt;&lt;br&gt;
慌てて、ECS4.0でのXMLへのアクセス方法を調べてPHPプログラムを作り直してみました。ところが、なかなかうまくいきません。ECS 3.0の時は、&lt;a href=&quot;http://jp.php.net/xml_parse_into_struct&quot; target=&quot;_blank&quot;&gt;xml_parse_into_struct関数&lt;/a&gt;を使ってやっていたのですが、Amazonのデータには、例えばある商品には「Availability」が設定されていても、設定されていない商品（=在庫が無い商品）がありますので、単純な配列の要素番号でのアクセスはバグります。Amazon Web Serviceでの開発を始めた数年前の時は、このような異常な？（というより、技量の低いプログラマーには不都合な）データは少なかったように思うのですが（そのようなデータがあった場合には、その都度、対処療法で対処していました。）、今回、ECS4.0用にいざ書き換えとうとして、いろいろ調べてみると、そのようなデータが非常に多いことに気づかされました。空データであれば、XMLデータの中に最初から入っていないようです。転送量を考えても、当然の仕様かもしれません。&lt;br&gt;&lt;br&gt;
xml_parse_into_struct関数の使い方が間違っている可能性もありますが、もはや対処療法では不可能ぽいので、別の方法を探ってみることにしました。PHP5なら&lt;a href=&quot;http://jp2.php.net/simplexml&quot; target=&quot;_blank&quot;&gt;SimpleXML関数&lt;/a&gt;が使えますが、私が使っているレンタルサーバはPHP4なので、使えません。そこで、PEAR（http://pear.php.net/package/XML_Serializer ）を使ってみることにしました。私のレンタルサーバにもPEARがインストールされていることは分かっていたからです。&lt;br&gt;&lt;br&gt;
&lt;div style=&quot;float:left;padding:10px;&quot;&gt;
&lt;SCRIPT TYPE=&quot;text/javascript&quot; LANGUAGE=&quot;javascript&quot;&gt;
&lt;!--
var ywoc_ad_id=&quot;sMf5m5mCXMcu05Qu.6nKuKIQ670-&quot;;
var ywoc_ad_sid=&quot;iKIpvQWCXMd.TjuSnzEuQw--&quot;;
var ywoc_ad_siteurl=&quot;http%3A%2F%2Fshimax.cocolog-nifty.com%2F&quot;;
var ywoc_ad_creativeid=&quot;001&quot;;
var ywoc_ad_altad=&quot;UR&quot;;
var ywoc_ad_alturl=&quot;http%3A%2F%2Fwww.shtml.jp%2Fad_160_314.html&quot;;
var ywoc_ad_signature=&quot;d708d28b8d6c1856f15abc3279b273318a9d4cc9&quot;;
var ywoc_ad_adserv=&quot;http://dcs.yahoo.co.jp/dcs_1_0/&quot;;
var ywoc_adcl_title=&quot;FF6600&quot;;
var ywoc_adcl_discription=&quot;330000&quot;;
var ywoc_adcl_link=&quot;CC9900&quot;;
var ywoc_adcl_frame=&quot;FF9900&quot;;
var ywoc_adcl_background=&quot;FFFFEE&quot;;
document.write(&#39;&lt;SCR&#39;+&#39;IPT TYPE=&quot;text/javascript&quot; LANGUAGE=&quot;javascript&quot; SRC=&quot;&#39;+
  ywoc_ad_adserv+
  &#39;?adid=&#39;+ywoc_ad_id+
  &#39;&amp;sid=&#39;+ywoc_ad_sid+
  &#39;&amp;surl=&#39;+ywoc_ad_siteurl+
  &#39;&amp;cid=&#39; +ywoc_ad_creativeid+
  &#39;&amp;alid=&#39;+ywoc_ad_altad+
  &#39;&amp;aurl=&#39;+ywoc_ad_alturl+
  &#39;&amp;sig=&#39; +ywoc_ad_signature+
  &#39;&amp;clt=&#39; +ywoc_adcl_title+
  &#39;&amp;cld=&#39; +ywoc_adcl_discription+
  &#39;&amp;cll=&#39; +ywoc_adcl_link+
  &#39;&amp;clf=&#39; +ywoc_adcl_frame+
  &#39;&amp;clb=&#39; +ywoc_adcl_background+
  &#39;&quot;&gt; &lt;/SCR&#39; + &#39;IPT&gt;&#39;);
--&gt;&lt;/SCRIPT&gt;
&lt;/div&gt;
まず、XML_Serializerをダウンロードして、ローカルのPEARフォルダーの中の「XML」フォルダーにUnserializer.phpとSerializer.phpをコピーして、ローカルでのテストは成功しました。ところが、同じように、「XML」という名称のディレクトリーを公開サーバ上に作成し、そこにUnserializer.phpとSerializer.phpをアップロードしてみたのですが、「Fatal error: Call to undefined method: xml_parser-&gt;sethandlerobj() in /usr/home/*******/public_html/XML/Unserializer.php on line 852」のようなエラーが出てダメです。&lt;br&gt;&lt;br&gt;
もしかして、わざわざ、Unserializer.phpとSerializer.phpをアップしなくても、既に同パッケージはインストールされていて、使えるようになっているのかなと思って、ためしに両ファイルを削除してみると、今度は、「require_once(&quot;XML/Unserializer.php&quot;);」のところで、「main(XML/Unserializer.php) [function.main]: failed to open stream: No such file or directory&lt;br&gt;Fatal error: main() [function.require]: Failed opening required &#39;XML/Unserializer.php&#39; (include_path=&#39;.:/usr/local/lib/php&#39;) in /usr/home/*******/public_html/test.php on line 2」となり、やっぱりダメです。サーバ事業者に連絡してXML_Serializerをインストールしてもらうか、自分のユーザー領域にコピーして使う（もちろん、sethandlerobjのエラーを解消しなければなりません。）しかないようです。&lt;br&gt;&lt;br&gt;
では、何でsethandlerobjのところでエラーになるのかなと思ってGoogleで調べてみたところ、原因はすぐに分かりました。&lt;br&gt;&lt;br&gt;
&lt;b&gt;●undefined function: sethandlerobj() (Nega Diary)&lt;/b&gt;&lt;br&gt;
&lt;a href=&quot;http://www.ironhearts.com/diary/archives/001239.html&quot; target=&quot;_blank&quot;&gt;http://www.ironhearts.com/diary/archives/001239.html&lt;/a&gt;&lt;br&gt;
PEARの本体のバージョンが古いことが原因のようです。結構同じエラーではまった方も少なくないようで、852行目という数字まで一緒だったりします（ある意味、当たり前？）。レンタルサーバの事業者に連絡してPEAR本体をアップグレードしてもらうのもいろいろ面倒なので、WindowsのローカルサーバにあるPEARフォルダーを丸ごとサーバにアップし、「/usr/local/lib/php」ではなくて、そちらのパスを見に行ってもらうようにプログラムすることにしました。&lt;br&gt;&lt;br&gt;
&lt;a href=&quot;http://jp2.php.net/ini_set&quot; target=&quot;_blank&quot;&gt;ini_set関数&lt;/a&gt;ではうまくいかなかったので、.htaccessでinclude_pathを変更して、やっと動くようになりました。&lt;br&gt;
&lt;b&gt;php_value include_path&lt;/b&gt; &quot;/home/******/public_html/php/PEAR&quot;&lt;br&gt;&lt;br&gt;
のように.htaccessの中で設定しました。これでECS4.0にようやく移行できます。&lt;br&gt;&lt;br&gt;</content:encoded>


<dc:subject>WEB技術</dc:subject>

<dc:creator>shimax</dc:creator>
<dc:date>2008-02-13T12:06:29+09:00</dc:date>
</item>
<item rdf:about="http://shimax.cocolog-nifty.com/search/2008/02/perlcgi_6abe.html">
<title>印刷禁止・テキストのコピー禁止の掲示板やブログの作成も可能になるPerl/CGIライブラリー</title>
<link>http://shimax.cocolog-nifty.com/search/2008/02/perlcgi_6abe.html</link>
<description>掲示板やブログ上のコンテンツ保護・情報流出を防ぐ、HTMLソース難読化用Perl...</description>
<content:encoded>&lt;div style=&quot;float:left;padding:10px;&quot;&gt;
&lt;a href=&quot;http://click.linksynergy.com/fs-bin/click?id=0BIj0LKkB7s&amp;offerid=114617.10000082&amp;type=4&amp;subid=0&quot;&gt;&lt;IMG alt=&quot;EIZO　液晶　テレビ　高画質　地デジ&quot; border=&quot;0&quot; src=&quot;http://direct.eizo.co.jp/docs/link/SC26XD2_300x250.jpg&quot;&gt;&lt;/a&gt;&lt;IMG border=&quot;0&quot; width=&quot;1&quot; height=&quot;1&quot; src=&quot;http://ad.linksynergy.com/fs-bin/show?id=0BIj0LKkB7s&amp;bids=114617.10000082&amp;type=4&amp;subid=0&quot;&gt;
&lt;/div&gt;
掲示板やブログ上のコンテンツ保護・情報流出を防ぐ、HTMLソース難読化用Perlライブラリ「&lt;a href=&quot;http://perl.shtml.jp&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;サーバサイドSHTML for Perl/CGI&lt;/b&gt;&lt;/a&gt;」をプランセスがリリースしました。Perl/CGIプログラムが出力（printやecho）するHTMLソースを出力前に、サーバ上でリアルタイムに難読化（≒JavaScript化）するというもの。&lt;br clear=all&gt;&lt;br&gt;
HTMLソースを難読化できるかだけでなく、右クリック禁止をはじめとして、印刷禁止・テキストのコピー禁止・PrintScreenキーの無効化などを盛り込むことができます。イントラネット内の掲示板やブログ、リリース前の商品に関する市場調査など情報が漏れてはいけない場面などで利用るという。&lt;br&gt;&lt;br&gt;
もちろん、完璧に保護したいと考えるのであれば、専用ブラウザ（右クリックが最初からできないというか、コンテクストメニューが最初から存在しない、シンプルすぎるブラウザでありながら、各種画面キャプチャーソフトの起動プロセスを終始監視することのできる専用ソフト。）を開発するしかないと思います。そして、「その専用ブラウザでしか、私どものサイトを閲覧できません」とサイト訪問者に説明し、専用ブラウザの使用を強要するという方法しかないと思いますが、これは、いろいろな意味でかなり大変です（イントラネットであればある程度の強要は可能だと思いますが、費用はかなりかかると思います。ちなみに、「&lt;a href=&quot;http://perl.shtml.jp&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;サーバサイドSHTML for Perl/CGI&lt;/b&gt;&lt;/a&gt;」は72,000円～）。&lt;br&gt;&lt;br&gt;
さらに言えば、漏れたくないコンテンツならば、「究極の話・公開しなければ安全であり、それが唯一の方法である」と言えるかもしれませんが、そのような虚無的な選択肢は「無し」とするのであれば、JavaScriptで出来る限りのことをやるという結論になるかと思います。&lt;br&gt;&lt;br&gt;
&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-2530061094004958&quot;;
google_alternate_ad_url = &quot;http://www.shtml.jp/ad_468_60.html&quot;;
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = &quot;468x60_as&quot;;
google_ad_channel =&quot;9825317797&quot;;
google_ad_type = &quot;text&quot;;
google_color_border = &quot;336699&quot;;
google_color_bg = &quot;FFFFFF&quot;;
google_color_link = &quot;0000FF&quot;;
google_color_url = &quot;008000&quot;;
google_color_text = &quot;000000&quot;;
//--&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
  src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;</content:encoded>


<dc:subject>WEB技術</dc:subject>

<dc:creator>shimax</dc:creator>
<dc:date>2008-02-12T10:36:26+09:00</dc:date>
</item>
<item rdf:about="http://shimax.cocolog-nifty.com/search/2008/02/perlcgi0x0d0x0d_5b94.html">
<title>Perl/CGIでデータの改行コードが0x0D0x0D0x0A（\r\r\n）になった場合の原因と対策</title>
<link>http://shimax.cocolog-nifty.com/search/2008/02/perlcgi0x0d0x0d_5b94.html</link>
<description>Windows Vistaのテストサーバで最近、Perl/CGIのテストをいろい...</description>
<content:encoded>&lt;div style=&quot;float:left;padding:10px;&quot;&gt;
&lt;a href=&quot;http://click.linksynergy.com/fs-bin/click?id=0BIj0LKkB7s&amp;offerid=102056.10001372&amp;subid=0&amp;type=4&quot;&gt;&lt;IMG border=&quot;0&quot;   alt=&quot;Apple Store（Japan） &quot; src=&quot;http://ad.linksynergy.com/fs-bin/show?id=0BIj0LKkB7s&amp;bids=102056.10001372&amp;subid=0&amp;type=4&amp;gridnum=14&quot;&gt;&lt;/a&gt;
&lt;/div&gt;
Windows Vistaのテストサーバで最近、Perl/CGIのテストをいろいろやっています。そんな中、テキストファイルにデータを書き出すという単純なプログラムで、改行コードが変てこになる現象に遭遇。ここ数年、PHPばっかりやっていたためにPerlのお作法をすっかり忘れてしまっているみたいです。&lt;br clear=all&gt;&lt;br&gt;
秀丸でファイルを開いてみると、改行が増えています!! 1回しか改行していないところは2行になっていますし、1行空白行を作っている場合は、3行空いています。何だこれは？　バイナリーエディタで見てみると、改行の部分が「0x0D0x0D0x0A（\r\r\n）」（0x0d0d0a）になっています。調べてみたら、すぐに原因が見つかりました。&lt;br clear=all&gt;&lt;br&gt;
&lt;b&gt;● とほほのperl入門（概要編）&lt;/b&gt;&lt;br&gt;
&lt;a href=&quot;http://www.tohoho-web.com/wwwperl1.htm&quot; target=&quot;_blank&quot;&gt;http://www.tohoho-web.com/wwwperl1.htm&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;div class=&quot;quote&quot;&gt;
Windows上で上記のスクリプトを実行した場合、STDOUT や OUT への出力は \n が \r\n に自動変換されて書き込まれます。これをテキストモードと呼びます。この自動変換を行わないようにしたい時は binmode()を用いてバイナリモードにしてください。
&lt;/div&gt;&lt;br&gt;
このサイトのおかげで一発で解決できました。PHPではこのような現象は起きたことがなかったので気づきませんでした。また、Perl/CGIをメインに使っていた数年前は、Windowsにテストサーバを準備してという技量もなかったので、直接、Unix系サーバにアップロードしてテストしていた（今考えると恐ろしい。）ので、こういう問題に気づきませんでした。まさしく、「とほほ」な感じです。&lt;br&gt;&lt;br&gt;
Perlって使いにくいなと思いましたが、PHPでも、4.3.2以前の出力モードは環境依存だったようです。&lt;br&gt;&lt;br&gt;
&lt;b&gt;● 開発規約/95 - BugbearR&#39;s Wiki「テキストモードとバイナリモードの区別を明確にする。(改行コードの取り扱い) 」&lt;/b&gt;&lt;br&gt;
&lt;a href=&quot;http://www.bugbearr.jp/?%E9%96%8B%E7%99%BA%E8%A6%8F%E7%B4%84%2F95&quot; target=&quot;_blank&quot;&gt;http://www.bugbearr.jp/?%E9%96%8B%E7%99%BA%E8%A6%8F%E7%B4%84%2F95&lt;/a&gt;&lt;br&gt;&lt;br&gt;
調べてみると、PHPのマニュアル「&lt;a href=&quot;http://jp.php.net/fopen&quot; target=&quot;_blank&quot;&gt;fopenの項&lt;/a&gt;」にも、そのいきさつが明記されていますね。まだまだ勉強しなければならないことが多そうです。とほほ。&lt;br&gt;&lt;br&gt;
&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-2530061094004958&quot;;
google_alternate_ad_url = &quot;http://www.shtml.jp/ad_468_60.html&quot;;
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = &quot;468x60_as&quot;;
google_ad_channel =&quot;9825317797&quot;;
google_ad_type = &quot;text&quot;;
google_color_border = &quot;336699&quot;;
google_color_bg = &quot;FFFFFF&quot;;
google_color_link = &quot;0000FF&quot;;
google_color_url = &quot;008000&quot;;
google_color_text = &quot;000000&quot;;
//--&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
  src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;</content:encoded>


<dc:subject>WEB技術</dc:subject>

<dc:creator>shimax</dc:creator>
<dc:date>2008-02-07T08:26:26+09:00</dc:date>
</item>
<item rdf:about="http://shimax.cocolog-nifty.com/search/2008/01/macosxwebperlcg_8979.html">
<title>MacOSX+Web共有でPerl/CGIをプログラムする際に注意すべきこと</title>
<link>http://shimax.cocolog-nifty.com/search/2008/01/macosxwebperlcg_8979.html</link>
<description>WindowsでApacheをインストールして、ローカルのテストサーバを運営して...</description>
<content:encoded>&lt;div style=&quot;float:left;padding:10px;&quot;&gt;
&lt;a href=&quot;http://click.linksynergy.com/fs-bin/click?id=0BIj0LKkB7s&amp;offerid=37389.10000064&amp;type=4&amp;subid=0&quot;&gt;&lt;IMG  width=&quot;240&quot; height=&quot;400&quot; alt=&quot;富士通WEB MART（SOHO・法人）&quot; border=&quot;0&quot; src=&quot;http://www.fujitsu-webmart.com/image/id_2006.gif&quot;&gt;&lt;/a&gt;&lt;IMG border=&quot;0&quot; width=&quot;1&quot; height=&quot;1&quot; src=&quot;http://ad.linksynergy.com/fs-bin/show?id=0BIj0LKkB7s&amp;bids=37389.10000064&amp;type=4&amp;subid=0&quot;&gt;
&lt;/div&gt;
WindowsでApacheをインストールして、ローカルのテストサーバを運営していると、実にプログラムのテストが容易です。その便利さにかまけて、基本的なことを忘れてしまっていたことが原因ではまった現象がつい先日ありました。&lt;br&gt;&lt;br&gt;
基本的に、Windows XPもしくはVistaでテストすればそれで十分なのですが、現在開発中のプログラムで、MacOSXでのテストをどうしても行ってみる必要が出てきました。その時、非常に初歩的なことで、はまりました。お恥ずかしい話ですが、備忘録として・・・。&lt;br clear=all&gt;&lt;br&gt;
&lt;b&gt;１．パーミッションの変更をしないといけない&lt;/b&gt;&lt;br&gt;
Windowsでテストをしている場合には、そのようなことを意識せずともテストできますので、最初、eMac（Tiger）で5行程度のCGIプログラムを作成して実行してみると、「403 Forbidden」と言われたので、理由が分からず焦りました。Terminalからファイルのパーミッションを705に変更て、これでOKかと思ったら今度は恐怖の「Internal Server Error」大王の登場です。&lt;br&gt;&lt;br&gt;
&lt;b&gt;２．改行コードはLFに明示的に変換しないと動作しない。&lt;/b&gt;&lt;br&gt;
エラーログを見てみると、「[error] (2)No such file or directory」となっています。「そんな（such）ファイルやディレクトリーはない」というのですが、suchが何を指しているのか最初は分かりませんでした。Perlのパスかなと思い、whichコマンドで調べて、「/usr/bin/perl」であることを確認。「おかしいな、あっているのににな」と考えること数分。Perl/CGIの場合、改行コードの問題で動作しないことがあることを、遠い記憶から呼び起こしました。&lt;br&gt;&lt;br&gt;
Windows + Apacheでは、改行コードが「CRLF」のままでも動作します。また、FTPソフトでUnix系サーバに転送した場合、自動的に改行コードを変換してくれるので、「改行コードが問題になっている」ということに全然気づきませんでした。&lt;br&gt;&lt;br&gt;
Jedit Xでプログラムしていて、デフォルトのまま使っていたので、改行コードがCRになっていることに気づきませんでした（もちろん、別に、Jedit Xの責任ではないですけど）。改行コードをLFに変更したところ、Internal Server Errorは消えて、無事にプログラムが実行できました。&lt;br&gt;&lt;br&gt;
結局のところ、Windowsでプログラムを作成して、UnixサーバにFTP転送する際に、パーミッションも自動変更してくれますし（NextFTPでは設定できます。）、改行コードも自動変更してくるので、基本的なことをすっかり忘れてしまっていましたのでした。&lt;br&gt;&lt;br&gt;
&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-2530061094004958&quot;;
google_alternate_ad_url = &quot;http://www.shtml.jp/ad_468_60.html&quot;;
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = &quot;468x60_as&quot;;
google_ad_channel =&quot;9825317797&quot;;
google_ad_type = &quot;text&quot;;
google_color_border = &quot;336699&quot;;
google_color_bg = &quot;FFFFFF&quot;;
google_color_link = &quot;0000FF&quot;;
google_color_url = &quot;008000&quot;;
google_color_text = &quot;000000&quot;;
//--&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
  src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;</content:encoded>


<dc:subject>mac</dc:subject>

<dc:creator>shimax</dc:creator>
<dc:date>2008-01-30T20:57:30+09:00</dc:date>
</item>
<item rdf:about="http://shimax.cocolog-nifty.com/search/2008/01/emeditoreuc_dd8b.html">
<title>EmEditorと補助漢字</title>
<link>http://shimax.cocolog-nifty.com/search/2008/01/emeditoreuc_dd8b.html</link>
<description>EmEditorのバージョンが7になりました。2006年11月に「秀丸エディタと...</description>
<content:encoded>&lt;IFRAME frameBorder=&quot;0&quot; allowTransparency=&quot;true&quot; height=&quot;60&quot; width=&quot;468&quot; marginHeight=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://ad.jp.ap.valuecommerce.com/servlet/htmlbanner?sid=3050&amp;pid=876549971&quot; MarginWidth=&quot;0&quot;&gt;&lt;script Language=&quot;javascript&quot; Src=&quot;http://ad.jp.ap.valuecommerce.com/servlet/jsbanner?sid=3050&amp;pid=876549971&quot;&gt;&lt;/script&gt;&lt;noscript&gt;&lt;a Href=&quot;http://ck.jp.ap.valuecommerce.com/servlet/referral?sid=3050&amp;pid=876549971&quot; target=&quot;_blank&quot; &gt;&lt;img Src=&quot;http://ad.jp.ap.valuecommerce.com/servlet/gifbanner?sid=3050&amp;pid=876549971&quot; height=&quot;60&quot; width=&quot;468&quot; Border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/noscript&gt;&lt;/IFRAME&gt;&lt;br&gt;&lt;br&gt;
&lt;a href=&quot;http://soft.webfaq.jp/search/EmEditor&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;EmEditor&lt;/b&gt;&lt;/a&gt;のバージョンが7になりました。2006年11月に「&lt;a href=&quot;http://shimax.cocolog-nifty.com/search/2006/11/euc_18fc.html&quot;&gt;&lt;b&gt;秀丸エディタとEUC補助漢字（「繋がる」と「繫がる」）&lt;/b&gt;&lt;/a&gt;」という記事を書きましたが、EmEditorは当時、補助漢字には対応していませんでした。実際、2007年3月には、EmEditorの公式フォーラムで以下のような質問がなされていました（なお、質問した人は私ではありません）。&lt;br&gt;&lt;br&gt;
&lt;b&gt;●EmEditor テキスト エディタ - フォーラム「EUC-JPは実際にはサポートされていない？」&lt;/b&gt;&lt;br&gt;
&lt;a href=&quot;http://jp.emeditor.com/modules/newbb/viewtopic.php?topic_id=195&amp;forum=2&amp;post_id=746#forumpost746&quot; target=&quot;_blank&quot;&gt;http://jp.emeditor.com/modules/newbb/viewtopic.php?topic_id=195&amp;forum=2&amp;post_id=746#forumpost746&lt;/a&gt;&lt;br&gt;&lt;br&gt;
この中で「次の EmEditor のメジャー バージョンでは、ほぼ確実に、このような新しいエンコードにも対応していきたいと思います。」と開発者の方が語られていたので、バージョン7になって実際どうなっているだろうかと思い、試してみましたが（バージョン7.00でテスト。）、未対応のようでした。（ちょっと意地が悪いですね。補助漢字に対応するのは本当に大変なことだと思います。私のWEBアプリも、まだ対応できていません（汗）。）&lt;br&gt;&lt;br&gt;
データベース（文字コード：EUC-JP）のバックアップなどを取った際に、バックアップファイルをEmEditorで再編集後、データベースに戻す処理をする場合は、注意が必要な場合もあるでしょう。なぜなら、Firefoxで登録された「鷗外」や「繫ぐ」を補助漢字に対応していないテキストエディタで開き、それを再保存すると、文字化けした結果である「乗ｽ」「恕ﾘぐ」が確定化してしまい、バックアップファイルからの復元前は「IEでは文字化けするけれどFirefoxでは文字化けしない」状態だったのが、「IEでは文字化け。Firefoxでも文字化け」という事態に悪化してしまうこともありうるからです。&lt;br&gt;&lt;br&gt;
もちろん、このような事態を避けるためにも、Firefox（やSafari）で送信された3バイトのEUCデータは、データベースに登録する前に数値文字参照化してしまい、IEでもFirefoxでも文字化けしない状態にしておくのが理想的だと思います。そうすれば、補助漢字に対応していないテキストエディタを経由しても文字化けしないようになりますが、なかなかそこまで手が回らないのが実情でしょう。&lt;br&gt;&lt;br&gt;
話を、テキストエディタの比較の話に戻します。では、補助漢字の対応だけを見るのであれば、今のところ、秀丸に軍配が上がりそうかというとそうでもなさそうです。私が誤解している部分があるかもしれませんが、両テキストエディタの機能を比較してみますと、&lt;br&gt;&lt;br&gt;
&lt;table cellpadding=10 cellspacing=0 border=1&gt;
&lt;tr&gt;&lt;td colspan=3 bgcolor=#ddffff&gt;0x8Fで始まる3バイトEUCのデータがある場合&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;br&gt;&lt;/td&gt;&lt;td bgcolor=#ffddff&gt;&lt;a href=&quot;http://hide.maruo.co.jp/software/hidemaru.html&quot; target=&quot;_blank&quot;&gt;秀丸エディタ&lt;/a&gt;&lt;/td&gt;&lt;td bgcolor=#ffffdd&gt;&lt;a href=&quot;http://soft.webfaq.jp/search/EmEditor&quot; target=&quot;_blank&quot;&gt;EmEditor&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td nowrap bgcolor=#ffffdd&gt;読み込み時&lt;/td&gt;&lt;td&gt;
&lt;center&gt;&lt;font color=red style=&quot;font-size:35px&quot;&gt;&lt;b&gt;○&lt;/b&gt;&lt;/font&gt;&lt;/center&gt;&lt;br&gt;
&lt;font size=2&gt;（文字化けせずに表示）&lt;/font&gt;
&lt;/td&gt;&lt;td&gt;
&lt;center&gt;&lt;font color=red style=&quot;font-size:35px&quot;&gt;&lt;b&gt;×&lt;/b&gt;&lt;/font&gt;&lt;/center&gt;&lt;br&gt;
&lt;nobr&gt;&lt;font size=2&gt;（文字化して表示。&lt;br&gt;保存時に文字化けが確定）&lt;/font&gt;&lt;/nobr&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td nowrap bgcolor=#ffffdd&gt;保存時&lt;/td&gt;&lt;td&gt;
&lt;center&gt;&lt;font color=red  style=&quot;font-size:35px&quot;&gt;&lt;b&gt;×&lt;/b&gt;&lt;/font&gt;&lt;/center&gt;&lt;br&gt;
&lt;font size=2&gt;（EUCのファイルで「鷗外」「©」などと新規入力したHTMLファイルの場合、その文字がFirefoxなど一部のブラウザでしか意図通りに表示できないことを認識できないまま、ユーザーが思わず使ってしまう危険性があります。）&lt;/font&gt;
&lt;/td&gt;&lt;td&gt;
&lt;nobr&gt;&lt;font size=2&gt;デフォルトの設定の場合&lt;/font&gt;&lt;/nobr&gt;&lt;br&gt;
&lt;center&gt;&lt;font color=red  style=&quot;font-size:35px&quot;&gt;&lt;b&gt;○&lt;/b&gt;&lt;/font&gt;&lt;/center&gt;&lt;br&gt;
&lt;font size=2&gt;（自動的に、数字文字参照・文字実体参照に置き換えて保存）&lt;/font&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;br&gt;&lt;br&gt;
好き好きはあるかもしれませんが、私は、EmEditorの保存時の設定は優れていると思います。EmEditorの場合、このデフォルトの設定が気に入らない場合は、【ツール】→【現在の設定のプロパティ】→【ファイル】タブ→【保存時】ボタン→【Unicode文字をHTML/XMLの文字参照として保存】及び【名前による実体参照を使用する】のチェックを外せば良いでしょう。&lt;br&gt;&lt;br&gt;
&lt;b&gt;●EmEditor テキスト エディタ - FAQ: 「HTML、または XML ファイルを保存する際に、EmEditor はUnicode 文字を文字参照 &quot;Numerical Character References&quot; (NCRs - &amp;#xx; など) として、エンコードすることはできますか?」&lt;/b&gt;&lt;br&gt;
&lt;a href=&quot;http://jp.emeditor.com/modules/xoopsfaq/index.php?cat_id=6#q63&quot; target=&quot;_blank&quot;&gt;http://jp.emeditor.com/modules/xoopsfaq/index.php?cat_id=6#q63&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;br&gt;
&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-2530061094004958&quot;;
google_alternate_ad_url = &quot;http://www.shtml.jp/ad_468_60.html&quot;;
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = &quot;468x60_as&quot;;
google_ad_channel =&quot;9825317797&quot;;
google_ad_type = &quot;text&quot;;
google_color_border = &quot;336699&quot;;
google_color_bg = &quot;FFFFFF&quot;;
google_color_link = &quot;0000FF&quot;;
google_color_url = &quot;008000&quot;;
google_color_text = &quot;000000&quot;;
//--&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
  src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;br&gt;&lt;br&gt;
秀丸エディタにも同様の設定がないだろうかと探してみたのですが、見つかりませんでした。こちらの公式サポートフォーラムの&lt;a href=&quot;http://www.maruo.co.jp/hidesoft/2/x23768_.html&quot; target=&quot;_blank&quot;&gt;スレッド&lt;/a&gt;は私が知りたいことをダイレクトに聞かれた内容ではないのですが、この内容からすると、私が捜し求めている機能はなさそうです。そこで、このスレッドで「秀丸担当 さん」が回答しておられるマクロを改良して、私が期待するマクロを考えてみました。なお、私は秀丸マクロは他人のマクロを少しだけ改良（改悪？）して自分だけ使うというレベルですので、以下のコードは全くの無保証です。念のため。&lt;br&gt;&lt;br&gt;
&lt;form&gt;
&lt;textarea cols=60 rows=20 style=&quot;background-color:#ffddff&quot; onFocus=&quot;this.select();&quot;&gt;
disabledraw;
gofiletop;
#count=0;

#flag=false;
#last=0;
#ignore=0;
$mes=&quot;&quot;;

//文字コードをチェック
#c = charset &amp;  63;
if(#c==6){
	message &quot;UTF-8のファイルの場合、このマクロを使う必要がありません。&quot;;
	endmacro;
}
while(1){
    if( code == 0 &amp;&amp; unicode != 0 ) {
		#last=lineno;
		$mes= str(lineno)+&quot;行目の「&quot;+unichar(unicode)+&quot;」はUnicodeでしか表現できません。\nどうしますか？&quot;;
		menu $mes,&quot;●数値文字参照に変換&quot;,&quot;●下駄文字に変換&quot;,&quot;何もしない&quot;,&quot;マクロ終了&quot;;

    	if(result==2){
			#flag=true;
			#count = #count + 1;
			insert &quot;&amp;#&quot;+str(unicode)+&quot;;&quot;;
        	delete;
		} else if(result==3){
			#flag=true;
			#count = #count + 1;
			delete;
			insert &quot;〓&quot;;
		} else if(result==5){
			endmacro;
		} else {
			#ignore=#ignore+1;
			right;
		}
        continue;
    }
    right;
    if( !result ) break;
}
if(#flag){
	message str(#count)+&quot;個を変換しました。&quot;;
	movetolineno 1,#last;
} else if(#ignore&gt;0){
	message str(#ignore)+&quot;個の変換を無視しました。&quot;;
} else {
	message &quot;完了しました。見つかりませんでした。&quot;;
}
endmacro;
&lt;/textarea&gt;
&lt;/form&gt;
&lt;font class=&quot;red_line&quot;&gt;このマクロは、基本的に、ファイルの保存前に実行することを想定しています。&lt;/font&gt;&lt;br&gt;&lt;br&gt;
このマクロを実行すると、Unicode文字の部分は数値文字参照にするのか下駄文字（〓）にするのか、それとも無視するのか、選択できます。なお、選択肢の表示のさせ方がよく分からなくて、質問部分まで選択肢の一つになってしまっているのでご注意ください。また、「©」の場合は数値文字参照ではなく文字実体参照にしたいとかいうのがあると思いますが、そこまでするのが面倒なのでやっていません。EUC補助漢字（及び、補助漢字にも入らない漢字など）は全て、数値文字参照になってしまいます。また、マクロの仕様なのか、私の無知なのか分かりませんが、「変換しました」というメッセージが表示された後に、実際は変換が行われます。（適当に、改良して、まともなものに仕上げてください。）&lt;br&gt;&lt;br&gt;
&lt;font class=&quot;red_line&quot;&gt;このマクロがあれば、EUC-JPのページでハングル文字を表示させたい場合に、数値文字参照に変換するのが結構面倒という場合にも使えます。&lt;/font&gt;ただし、この場合は、ファイルの保存前に実行しないといけません。そうでないと、保存時に、秀丸エディタが文字コード変換できない旨のメッセージを出し、「はい」を選択すると「?」に置き換えてしまいます。&lt;br&gt;&lt;br&gt;
ファイルの保存時に必ず、このマクロを実行してから保存されるようにするように秀丸エディタをカスタマイズできればいいのですが、そこまでの力量もなく、秀丸エディタの仕様が変更にならないかなと思う今日この頃ですが、設定可能項目が増えると、かえって使いづらくなることはよくある話なので、やっぱり、すべての人の要望は受け入れられないですよね、秀丸エディタ開発者様。&lt;br&gt;&lt;br&gt;
&lt;IFRAME frameBorder=&quot;0&quot; allowTransparency=&quot;true&quot; height=&quot;60&quot; width=&quot;468&quot; marginHeight=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://ad.jp.ap.valuecommerce.com/servlet/htmlbanner?sid=3050&amp;pid=876549889&quot; MarginWidth=&quot;0&quot;&gt;&lt;script Language=&quot;javascript&quot; Src=&quot;http://ad.jp.ap.valuecommerce.com/servlet/jsbanner?sid=3050&amp;pid=876549889&quot;&gt;&lt;/script&gt;&lt;noscript&gt;&lt;a Href=&quot;http://ck.jp.ap.valuecommerce.com/servlet/referral?sid=3050&amp;pid=876549889&quot; target=&quot;_blank&quot; &gt;&lt;img Src=&quot;http://ad.jp.ap.valuecommerce.com/servlet/gifbanner?sid=3050&amp;pid=876549889&quot; height=&quot;60&quot; width=&quot;468&quot; Border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/noscript&gt;&lt;/IFRAME&gt;&lt;br&gt;
&lt;img src=&quot;/blank.gif&quot; width=1 height=5&gt;&lt;br&gt;
&lt;a Href=&quot;http://ck.jp.ap.valuecommerce.com/servlet/referral?sid=3050&amp;pid=876549935&quot; target=&quot;_blank&quot; &gt;&lt;img Src=&quot;http://ad.jp.ap.valuecommerce.com/servlet/gifbanner?sid=3050&amp;pid=876549935&quot; height=&quot;1&quot; width=&quot;1&quot; Border=&quot;0&quot;&gt;&lt;b&gt;1日150円で韓国語が身につく『スピードラーニング韓国語』&lt;/b&gt;&lt;/a&gt;</content:encoded>


<dc:subject>WEB技術</dc:subject>

<dc:creator>shimax</dc:creator>
<dc:date>2008-01-14T15:49:45+09:00</dc:date>
</item>
<item rdf:about="http://shimax.cocolog-nifty.com/search/2008/01/phpwarning_fope_35ce.html">
<title>【PHPのとあるエラー】Warning: fopen(): URL file-access is disabled in the server configuration in</title>
<link>http://shimax.cocolog-nifty.com/search/2008/01/phpwarning_fope_35ce.html</link>
<description>AmazonのWebサービスを使ったサイト（PHP）の構築のために、海外のレンタ...</description>
<content:encoded>&lt;IFRAME frameBorder=&quot;0&quot; allowTransparency=&quot;true&quot; height=&quot;60&quot; width=&quot;468&quot; marginHeight=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://ad.jp.ap.valuecommerce.com/servlet/htmlbanner?sid=3050&amp;pid=876549249&quot; MarginWidth=&quot;0&quot;&gt;&lt;script Language=&quot;javascript&quot; Src=&quot;http://ad.jp.ap.valuecommerce.com/servlet/jsbanner?sid=3050&amp;pid=876549249&quot;&gt;&lt;/script&gt;&lt;noscript&gt;&lt;a Href=&quot;http://ck.jp.ap.valuecommerce.com/servlet/referral?sid=3050&amp;pid=876549249&quot; target=&quot;_blank&quot; &gt;&lt;img Src=&quot;http://ad.jp.ap.valuecommerce.com/servlet/gifbanner?sid=3050&amp;pid=876549249&quot; height=&quot;60&quot; width=&quot;468&quot; Border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/noscript&gt;&lt;/IFRAME&gt;&lt;br&gt;&lt;br&gt;
AmazonのWebサービスを使ったサイト（PHP）の構築のために、海外のレンタルサーバでfopen関数を使って、XMLデータを取得していました。もちろん、AmazonのXMLサーバが混んでいて、うまくデータを取得できない場合も考えて、エラー処理を入れていました。&lt;br&gt;&lt;br&gt;
エラー処理では、そのような場合には、http://www.amazon.co.jpの該当asinページに飛ばす（redirectする）ようにしていました。ただ、ログに残したり、メールで通知が来るようにまではしていませんでした。そのため、&lt;span class=&quot;red_line&quot;&gt;いつのまにかfopenに常に失敗している事態が発生していることに最近まで気づいていませんでした。&lt;/span&gt;&lt;br&gt;&lt;br&gt;
ところが、最近になって、常にエラー処理の方が行われており正常な処理がされていないことに気づきました。関数名の前の「@」を取って、確認してみると、&lt;br&gt;&lt;br&gt;
&lt;font size=+1&gt;&lt;b&gt;Warning: fopen(): URL file-access is disabled in the server configuration in ・・・&lt;/b&gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;
エラーの内容から、allow_url_fopenの設定がいつの間にか変えられていて、fopenでリモートのファイルをオープンすることが禁止されていることが想像できました。「やられた」と思いました。恐らく、レンタルサーバの事業者から事前に連絡はなかったと思います。（スパムが大量すぎるので、英語の件名のメールの場合は、ウイルスバスターのスパム判定をほぼ無条件に信じて削除して待っているので、スパムと間違って削除した可能性はありますが・・・。）&lt;br&gt;&lt;br&gt;
セキュリティを考慮してサーバの設定をいじくるのはレンタルサーバ事業者としてありうることでしょうが、事後でも連絡してほしいものです。おかげで、正常処理されていればサーチエンジンにしっかりと登録されているはずのページが、amazonへ単純にリダイレクトしているだけの意味のないページとして判断され、サーチエンジンから登録の多くが消えてしまっていました。&lt;br&gt;&lt;br&gt;
ただ、&lt;a href=&quot;http://shimax.cocolog-nifty.com/search/2007/03/ftp_c24e.html&quot;&gt;過去の記事&lt;/a&gt;にも書いたように、海外のレンタルサーバ事業者は絶対に「I&#39;m sorry.」とは言わないし、文句を言ってもストレスがたまるだけです（早く乗り換えようと思っているのですが、安さとディスクスペースの多さに負けて、なかなか乗り換えられないでいます）。だから、今回は黙って対処することにしました。&lt;br&gt;&lt;br&gt;
PHPの本家の&lt;a href=&quot;http://jp.php.net/fopen&quot;&gt;fopenのページ&lt;/a&gt;を見てみると、すぐに解決策は見つかりました。「Luiz Miguel Axcar (lmaxcar at yahoo dot com dot br)」さんのユーザーコメントにcurlを使った代替策が載っていました。この代替策で無事解決できました。&lt;br&gt;&lt;br&gt;
&lt;IFRAME frameBorder=&quot;0&quot; allowTransparency=&quot;true&quot; height=&quot;60&quot; width=&quot;468&quot; marginHeight=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://ad.jp.ap.valuecommerce.com/servlet/htmlbanner?sid=3050&amp;pid=876549266&quot; MarginWidth=&quot;0&quot;&gt;&lt;script Language=&quot;javascript&quot; Src=&quot;http://ad.jp.ap.valuecommerce.com/servlet/jsbanner?sid=3050&amp;pid=876549266&quot;&gt;&lt;/script&gt;&lt;noscript&gt;&lt;a Href=&quot;http://ck.jp.ap.valuecommerce.com/servlet/referral?sid=3050&amp;pid=876549266&quot; target=&quot;_blank&quot; &gt;&lt;img Src=&quot;http://ad.jp.ap.valuecommerce.com/servlet/gifbanner?sid=3050&amp;pid=876549266&quot; height=&quot;60&quot; width=&quot;468&quot; Border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/noscript&gt;&lt;/IFRAME&gt;</content:encoded>


<dc:subject>WEB技術</dc:subject>

<dc:creator>shimax</dc:creator>
<dc:date>2008-01-12T21:46:32+09:00</dc:date>
</item>


</rdf:RDF>
