<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Hi-farm blog &#187; PHP</title>
	<atom:link href="http://blog.hi-farm.net/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.hi-farm.net</link>
	<description>ActionScript 3.0 , AIR , FLEXからCocoa, OpenGL</description>
	<lastBuildDate>Sun, 05 Sep 2010 20:05:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>PHP5のこと。</title>
		<link>http://blog.hi-farm.net/2008/07/12/php5%e3%81%ae%e3%81%93%e3%81%a8%e3%80%82/</link>
		<comments>http://blog.hi-farm.net/2008/07/12/php5%e3%81%ae%e3%81%93%e3%81%a8%e3%80%82/#comments</comments>
		<pubDate>Sat, 12 Jul 2008 12:02:59 +0000</pubDate>
		<dc:creator>hi-farm.net</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[allow_url_fopen]]></category>
		<category><![CDATA[php5]]></category>

		<guid isPermaLink="false">http://blog.hi-farm.net/?p=79</guid>
		<description><![CDATA[PHP4のサポートが終了してから、結構な時間が経ち、レンタルサーバーでもPHP4を打ち切るところが出てきましたが、
変更点の一つが、
php.iniのallow_url_fopenがデフォルトではoffであることです。
 [...]]]></description>
			<content:encoded><![CDATA[<p>PHP4のサポートが終了してから、結構な時間が経ち、レンタルサーバーでもPHP4を打ち切るところが出てきましたが、</p>
<p>変更点の一つが、</p>
<h3>php.iniの<span style="color: #ff0000;"><strong>allow_url_fopen</strong></span>がデフォルトではoffであることです。</h3>
<p>ってことは、http経由でごにょごにょしている人には、file関数とか、fopenとかに問題がでる恐れがあります。</p>
<p>それを回避するには、様々な方法がありますが、一つには、socket通信する、という方法があります。</p>
<p>使い方はこんなふうです。要はPHPでtelnetしてる感覚ですね。</p>
<p>ちなみに、以下の例では、80番ポートと決めうちしてアクセスしているので、サイトによっては別途ポートを指定する必要があります。</p>
<p> </p>
<pre>
$domain = "www.hi-farm.net"; // 対象ドメイン

$file = "sample.php"; // URL以下のパス（GETも使えます）

$fp = fsockopen($domain, 80, $errno, $errstr, 4); // 80番ポートに接続

$out = "GET /{$file} HTTP/1.1\r\n"; 

$out .= "Host: {$domain}\r\n";

$out .= "Connection: Close\r\n\r\n";

 

fwrite($fp, $out);

stream_set_timeout($fp, 4);

 

while(!feof($fp))

{

<span>	</span>$file_data0 .= fget($fp);

}

fclose($fp);

 

セキュリティうんぬんはわかるので、PHP側での対応はわかるけど、php.iniでしか変えれないのよね。。。

レンタルサーバーやっている業者さんは、単に「変更されますので準備しろ」だけでなくて、テストする環境を用意してくれよ

って思います。。。

 

ぐちってしまった。。。
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.hi-farm.net/2008/07/12/php5%e3%81%ae%e3%81%93%e3%81%a8%e3%80%82/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PearのFile/Archive.phpをMODxで</title>
		<link>http://blog.hi-farm.net/2008/06/10/pear%e3%81%aefilearchivephp%e3%82%92modx%e3%81%a7/</link>
		<comments>http://blog.hi-farm.net/2008/06/10/pear%e3%81%aefilearchivephp%e3%82%92modx%e3%81%a7/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 16:01:11 +0000</pubDate>
		<dc:creator>hi-farm.net</dc:creator>
				<category><![CDATA[MODx]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[pear]]></category>

		<guid isPermaLink="false">http://www.hi-farm.net/wp/?p=65</guid>
		<description><![CDATA[ちょっと料理名っぽいですが。
MODxをちょい前から使っているのですが、このMODxは動的にサイトを見せることも可能だし、静的HTMLのエクスポートも可能。
で、今回は、MODxはサイトのジェネレータとして使う事を考え、 [...]]]></description>
			<content:encoded><![CDATA[<p>ちょっと料理名っぽいですが。</p>
<p>MODxをちょい前から使っているのですが、このMODxは動的にサイトを見せることも可能だし、静的HTMLのエクスポートも可能。</p>
<p>で、今回は、MODxはサイトのジェネレータとして使う事を考え、エクスポートしたファイルをダウンロードできる仕組みを作成。</p>
<p>簡単に言えば、</p>
<p>1. managerから、『サイトのエクスポート』<br />
2. zipダウンロードするmoduleを作成し、指定階層以下のフォルダをzipにしてダウンロード</p>
<p>という流れです。</p>
<p>で、2のところですが、pearのFile/Archive.phpを使いました。</p>
<p>使い方としては、</p>
<p>前提としては、$tardir：zipファイルを作成するフォルダ</p>
<p>File_Archive::extract(<br />
File_Archive::read( $tardir.&#8217;export/&#8217; ),<br />
File_Archive::toArchive(&#8217;Files.zip&#8217;, File_Archive::toOutput() )<br />
);</p>
<p>でいけるはずなのですが、zipを展開できなかった。（Binaryで見てみると、圧縮しているというよりは、ファイルの頭がHTML宣言だったので、きっと圧縮に失敗している）<br />
なので、一度サーバでファイルを作成し、ダウンロードしてからzipファイルを削除　という流れに変更。<br />
変更後がこれ。</p>
<p>File_Archive::extract(<br />
File_Archive::read( $tardir.&#8217;export/&#8217; ),<br />
File_Archive::toArchive($tardir.&#8217;Files.zip&#8217;, File_Archive::toFiles() )<br />
);</p>
<p>$params = array(<br />
&#8216;file&#8217; =&gt; $tardir.&#8217;Files.zip&#8217;,<br />
&#8216;contenttype&#8217; =&gt; &#8216;application/zip&#8217;,<br />
&#8216;contentdisposition&#8217; =&gt; array(HTTP_DOWNLOAD_ATTACHMENT, &#8216;Files.zip&#8217;),<br />
);</p>
<p>$ret = HTTP_Download::staticSend($params);</p>
<p>unlink($tardir.&#8217;Files.zip&#8217;);</p>
<p>これで無事zipファイルをダウンロードできました。</p>
<p>2008年2月13日21:28</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hi-farm.net/2008/06/10/pear%e3%81%aefilearchivephp%e3%82%92modx%e3%81%a7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MAMPをセットアップ、PHPMyAdminでつまづく</title>
		<link>http://blog.hi-farm.net/2008/06/10/mamp%e3%82%92%e3%82%bb%e3%83%83%e3%83%88%e3%82%a2%e3%83%83%e3%83%97%e3%80%81phpmyadmin%e3%81%a7%e3%81%a4%e3%81%be%e3%81%a5%e3%81%8f/</link>
		<comments>http://blog.hi-farm.net/2008/06/10/mamp%e3%82%92%e3%82%bb%e3%83%83%e3%83%88%e3%82%a2%e3%83%83%e3%83%97%e3%80%81phpmyadmin%e3%81%a7%e3%81%a4%e3%81%be%e3%81%a5%e3%81%8f/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 16:00:05 +0000</pubDate>
		<dc:creator>hi-farm.net</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[MAMP]]></category>

		<guid isPermaLink="false">http://www.hi-farm.net/wp/?p=64</guid>
		<description><![CDATA[今月はオフィスを離れて仕事をする事が増えるだろう、ということで、メインマシンである、MacBookで移動中も開発すべく、ローカルにMAMPをインストール。
で、PHPMyAdminの画面を開いても、エラーがでる。
『#2 [...]]]></description>
			<content:encoded><![CDATA[<p>今月はオフィスを離れて仕事をする事が増えるだろう、ということで、メインマシンである、MacBookで移動中も開発すべく、ローカルにMAMPをインストール。</p>
<p>で、PHPMyAdminの画面を開いても、エラーがでる。</p>
<p>『#2002 &#8211; サーバが応答しません (あるいはローカルの MySQL サーバのソケットが正しく設定されていません) 』</p>
<p>ってね。</p>
<p>うーん。。。。。とうなってると、原因はどうやら、PHPMyAdminで使うMySQLの設定が違ってたみたい。</p>
<p>/Applications/MAMP/bin/phpMyAdmin/config.inc.phpのこの箇所をこう記述。<br />
$cfg['Servers'][$i]['extension'] = &#8216;mysqli&#8217;; </p>
<p>無事動く。</p>
<p>当たり前ですね。MySQLのバージョンが5.0.41なんだから。</p>
<p>ってかさいっしょっからその設定に変えておいてよ。</p>
<p>2008年2月3日23:36</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hi-farm.net/2008/06/10/mamp%e3%82%92%e3%82%bb%e3%83%83%e3%83%88%e3%82%a2%e3%83%83%e3%83%97%e3%80%81phpmyadmin%e3%81%a7%e3%81%a4%e3%81%be%e3%81%a5%e3%81%8f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHPでの文字化け</title>
		<link>http://blog.hi-farm.net/2008/06/09/php%e3%81%a7%e3%81%ae%e6%96%87%e5%ad%97%e5%8c%96%e3%81%91/</link>
		<comments>http://blog.hi-farm.net/2008/06/09/php%e3%81%a7%e3%81%ae%e6%96%87%e5%ad%97%e5%8c%96%e3%81%91/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 00:26:54 +0000</pubDate>
		<dc:creator>hi-farm.net</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.hi-farm.net/wp/?p=31</guid>
		<description><![CDATA[PHPでの文字化けに対して、詳しい情報を書いているBLOGを見つけました。
http://hain.jp/index.php/tech-j/2007/02/13/p125
本文に書いている、
『
文字化けが何かというのは [...]]]></description>
			<content:encoded><![CDATA[<p>PHPでの文字化けに対して、詳しい情報を書いているBLOGを見つけました。<br />
<a href="http://hain.jp/index.php/tech-j/2007/02/13/p125" target="_blank">http://hain.jp/index.php/tech-j/2007/02/13/p125</a></p>
<p>本文に書いている、<br />
『<br />
文字化けが何かというのはご存じのとおり。<br />
ＰＨＰにおいて文字化けが起こる理由は</p>
<p>勘違い・思いこみ<br />
これ以外に存在しない。</p>
<p>』</p>
<p>という言葉が衝撃的であったが、php.iniのmbstring.internal_encodingが実は内部エンコードではない、ということなどを詳しく説明してくれている。</p>
<p>初心者向けの書籍などは、詳しく書きすぎても混乱するだけなので省略したり、少々間違っててもわかりやすく記述するのはわかるのだが、internal_encodingなのに『内部エンコード』ではない、というのはちょっと。。。</p>
<p>他にも、<br />
自動変換を利用しない<br />
ということや、php.iniにおいて設定すべき項目、設定すべきではない項目を書いてくれていて、とてもわかりやすかったです。</p>
<p>2007年9月11日19:36</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hi-farm.net/2008/06/09/php%e3%81%a7%e3%81%ae%e6%96%87%e5%ad%97%e5%8c%96%e3%81%91/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
