<?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>ひろぽっぽれす &#187; PHP</title>
	<atom:link href="http://hiropo.co.uk/archives/category/php/feed" rel="self" type="application/rss+xml" />
	<link>http://hiropo.co.uk</link>
	<description>Web系エンジニアの適当なブログです。どうでも酔いものばかり作ってます。</description>
	<lastBuildDate>Mon, 12 Mar 2012 06:10:01 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>【追記あり】PHP5.3.8 をCentOS5系にソースからインストールする</title>
		<link>http://hiropo.co.uk/archives/799</link>
		<comments>http://hiropo.co.uk/archives/799#comments</comments>
		<pubDate>Thu, 27 Oct 2011 03:50:28 +0000</pubDate>
		<dc:creator>hirohi</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://hiropo.co.uk/?p=799</guid>
		<description><![CDATA[いまさらながらPHPのインストールでしくじることがあったのでメモ。 まずPHPをインストールする。 # wget http://jp.php.net/get/php-5.3.8.tar.gz/from/us.php.ne &#8230; <a href="http://hiropo.co.uk/archives/799">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>いまさらながらPHPのインストールでしくじることがあったのでメモ。</p>
<p>まずPHPをインストールする。</p>
<pre>
# wget http://jp.php.net/get/php-5.3.8.tar.gz/from/us.php.net/mirror
# tar xvfz php-5.3.8.tar.gz
# ./configure --enable-mbstring --with-apxs2 --with-mysql --with-gd --with-zlib --with-jpeg-dir --with-tsm-pthreads --enable-maintainer-zts --cache-file=../config.cache
# make
# make install
# which php
/usr/local/bin/php

# php -v
PHP 5.3.8 (cli) (built: Oct 27 2011 11:47:09)
Copyright (c) 1997-2011 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies
</pre>
<p>apacheとの連携</p>
<pre>
# vi /etc/httpd/conf/httpd.conf
LoadModule php5_module        /usr/lib/httpd/modules/libphp5.so
DirectoryIndex index.html index.html.var index.php
AddType application/x-httpd-php .php

# /etc/rc.d/init.d/httpd configtest
# /etc/rc.d/init.d/httpd restart
</pre>
<p>正常にphpinfo()できればおｋ。</p>
<h3>【追記】</h3>
<p>64bit版の場合、./configureのオプションがちょっと変わります。<br />
さくらVPSが64bit版だったっぽくちょっと悩みました。</p>
<p>オプションに &#8220;&#8211;with-libdir=lib64&#8243; を追加してください。</p>
<pre>
./configure --enable-mbstring --with-apxs2 --with-mysql --with-gd --with-zlib --with-libdir=lib64 --with-pear --with-gd --enable-maintainer-zts --cache-file=../config.cache
</pre>
<h3>【追記2】</h3>
<p>Curlを使う場合。</p>
<pre>
./configure --enable-mbstring --with-apxs2 --with-mysql --with-gd --with-zlib --with-libdir=lib64 --with-pear --with-gd --with-curl --enable-sockets --enable-maintainer-zts --cache-file=../config.cache
</pre>
]]></content:encoded>
			<wfw:commentRss>http://hiropo.co.uk/archives/799/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Titanium Studio でデスクトップアプリ開発に入門してみた</title>
		<link>http://hiropo.co.uk/archives/693</link>
		<comments>http://hiropo.co.uk/archives/693#comments</comments>
		<pubDate>Fri, 02 Sep 2011 10:05:09 +0000</pubDate>
		<dc:creator>hirohi</dc:creator>
				<category><![CDATA[(X)HTML+CSS]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Aptana]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Titanium]]></category>

		<guid isPermaLink="false">http://hiropo.co.uk/?p=693</guid>
		<description><![CDATA[こんぬつわ。ブログを放置してから早半年弱…。完全に放置してしまいました。 技術的にはいろんなことできるようになったのですが全然メモってませんでした…。 反省してます…。 ということできちんとブログを買いていこうかなと思い &#8230; <a href="http://hiropo.co.uk/archives/693">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>こんぬつわ。ブログを放置してから早半年弱…。完全に放置してしまいました。<br />
技術的にはいろんなことできるようになったのですが全然メモってませんでした…。<br />
反省してます…。</p>
<p>ということできちんとブログを買いていこうかなと思い、最近ちょっとやってみようと思ったのが、Titanium Studio によるデスクトップアプリケーション開発！<br />
なんと、みんなが大好きなHTML5+CSS3+JavaScript+Ruby+Python+PHP と、最近流行のweb系言語がだいたい使えちゃいます。Adobe AIRよりもこっちの方が良いんじゃないかって思ってみたり。</p>
<p>Titanium Studio は、Aptanaを買収し、AptanaとTitaniumががっちゃんこしたもの（？）みたいです。<br />
Titanium はiPhone, Android でクロスデバイス開発をするための開発ツールで、iPhoneアプリやAndroidアプリを開発したことある人は知っているであろうと思うのでここでは割愛します。</p>
<p>それでは早速Titanium Studio でHello Worldしてみます。</p>
<p>まずはTitanium Studioをユーザー登録してダウンロードします。<br />
<a href="http://www.appcelerator.com/" target="_blank">http://www.appcelerator.com/</a></p>
<h3>Titanium Studio を起動し、プロジェクトを新規でつくる</h3>
<p><a href="http://hiropo.co.uk/wp-content/uploads/2011/09/754de3cf2d164ca350e6ca3eea66196c1.png"><img src="http://hiropo.co.uk/wp-content/uploads/2011/09/754de3cf2d164ca350e6ca3eea66196c1.png" alt="" title="CreateProject" width="228" height="125" class="alignnone size-full wp-image-696" /></a></p>
<h3>Titanium Desctop Project をつくる</h3>
<p><a href="http://hiropo.co.uk/wp-content/uploads/2011/09/65da3bfd87ed0a14e1c66afa31b6fa45.png"><img src="http://hiropo.co.uk/wp-content/uploads/2011/09/65da3bfd87ed0a14e1c66afa31b6fa45.png" alt="" title="Titanium Desctop Project" width="527" height="504" class="alignnone size-full wp-image-698" /></a></p>
<h3>Project Name を設定し、使用言語にRuby, Python, PHP をチェック</h3>
<p><a href="http://hiropo.co.uk/wp-content/uploads/2011/09/583944337d08aed0c389ad1165e279fb.png"><img src="http://hiropo.co.uk/wp-content/uploads/2011/09/583944337d08aed0c389ad1165e279fb.png" alt="" title="Use Language" width="532" height="501" class="alignnone size-full wp-image-699" /></a></p>
<h3>アプリケーション情報を設定する</h3>
<p><a href="http://hiropo.co.uk/wp-content/uploads/2011/09/b36f7164a016a593dde3baed5a14b240.png"><img src="http://hiropo.co.uk/wp-content/uploads/2011/09/b36f7164a016a593dde3baed5a14b240.png" alt="" title="Config" width="408" height="475" class="alignnone size-full wp-image-703" /></a></p>
<h3>ソースコードを書くために /Resources/index.html を開く</h3>
<p><a href="http://hiropo.co.uk/wp-content/uploads/2011/09/3ca357de7e930f7da506a4b426695a86.png"><img src="http://hiropo.co.uk/wp-content/uploads/2011/09/3ca357de7e930f7da506a4b426695a86.png" alt="" title="source" width="240" height="213" class="alignnone size-full wp-image-701" /></a></p>
<h3>ソースコードを書く</h3>
<pre>
&lt;!Doctype html&gt;
&lt;html lang=&quot;ja&quot;&gt;
	&lt;head&gt;
		&lt;meta charset=&quot;utf-8&quot;&gt;
		&lt;title&gt;test&lt;/title&gt;
		&lt;style type=&quot;text/css&quot;&gt;
			body {
				background: #fff;
			}
		&lt;/style&gt;
	&lt;/head&gt;
	&lt;body&gt;
		&lt;h1&gt;test&lt;/h1&gt;
		&lt;script type=&quot;text/python&quot;&gt;
			def pyFunc(str):
				document.write(str)
			pyFunc(&quot;python&quot;)
		&lt;/script&gt;
		&lt;script type=&quot;text/ruby&quot;&gt;
			def rbFunc(str)
				pyFunc(str)
			end
			rbFunc(&quot;ruby&quot;)
		&lt;/script&gt;
	&lt;/body&gt;
&lt;/html&gt;
</pre>
<h3>アプリを実行してみる</h3>
<p><a href="http://hiropo.co.uk/wp-content/uploads/2011/09/23951a9f864ad6d1ade13d6f72a46dea.png"><img src="http://hiropo.co.uk/wp-content/uploads/2011/09/23951a9f864ad6d1ade13d6f72a46dea.png" alt="" title="実行" width="331" height="173" class="alignnone size-full wp-image-706" /></a></p>
<p><a href="http://hiropo.co.uk/wp-content/uploads/2011/09/9fa470a3d698a9d2c2414894676ee9af.png"><img src="http://hiropo.co.uk/wp-content/uploads/2011/09/9fa470a3d698a9d2c2414894676ee9af.png" alt="" title="アプリ起動" width="717" height="507" class="alignnone size-full wp-image-707" /></a></p>
<p>デスクトップアプリができちゃった！</p>
<p>Pythonの中にRubyを書いたりJS書いたり何だか何でもアリのカオス状態ですが、面白いことできそうな予感がぷんぷんします。こういうの嫌いじゃない。</p>
]]></content:encoded>
			<wfw:commentRss>http://hiropo.co.uk/archives/693/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPressで記事の並び替えを昇順または降順で並び替える</title>
		<link>http://hiropo.co.uk/archives/552</link>
		<comments>http://hiropo.co.uk/archives/552#comments</comments>
		<pubDate>Wed, 27 Oct 2010 06:20:19 +0000</pubDate>
		<dc:creator>hirohi</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://hiropo.co.uk/?p=552</guid>
		<description><![CDATA[blog記事ってふつー最新から順に並べられているけど、あえて逆に並べたいときもある。 そんなときの書き方 ▽古い順（デフォルトは、order=DESC） query_posts("order=ASC"); * order &#8230; <a href="http://hiropo.co.uk/archives/552">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>blog記事ってふつー最新から順に並べられているけど、あえて逆に並べたいときもある。<br />
そんなときの書き方</p>
<p>▽古い順（デフォルトは、order=DESC）</p>
<pre>
query_posts("order=ASC");
</pre>
<blockquote><p>
    * order=ASC &#8211; 昇順。小さい値から大きい値の順。<br />
    * order=DESC &#8211; 降順。大きい値から小さい値の順。
</p></blockquote>
<p>ただ、これだと全記事がソートされることになるので、カテゴリだけソートしたい場合は、category.php （テーマファイル）に対して、下記のように記述する。</p>
<pre>
$cat = get_query_var('cat');
$paged = get_query_var('paged');
query_posts("cat=".$cat."&#038;order=ASC&#038;orderby=date&#038;posts_per_page=10&#038;paged=".$paged);
</pre>
<p>query_posts() 覚えちゃえばたいていのことはソートできちゃうね！</p>
]]></content:encoded>
			<wfw:commentRss>http://hiropo.co.uk/archives/552/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPressで今見ているカテゴリーのIDを取得</title>
		<link>http://hiropo.co.uk/archives/550</link>
		<comments>http://hiropo.co.uk/archives/550#comments</comments>
		<pubDate>Wed, 27 Oct 2010 06:07:40 +0000</pubDate>
		<dc:creator>hirohi</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://hiropo.co.uk/?p=550</guid>
		<description><![CDATA[今見ているカテゴリーの記事をごにょごにょとソートしたいってことがよくあるのでメモっておく。 関数にまとめてしまっても良いんだけどねー。 $cat = get_query_var('cat'); $cat にカテゴリIDが &#8230; <a href="http://hiropo.co.uk/archives/550">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>今見ているカテゴリーの記事をごにょごにょとソートしたいってことがよくあるのでメモっておく。<br />
関数にまとめてしまっても良いんだけどねー。</p>
<pre>
$cat = get_query_var('cat');
</pre>
<p>$cat にカテゴリIDが入るので、あとはquery_posts() などでソートしてやればおｋ。</p>
<p>カテゴリページでソートしたい場合は下記のように。<br />
例： 古い順でカテゴリごとに並び替え</p>
<pre>
&lt;?php
	$cat = get_query_var(&#039;cat&#039;);
	$paged = get_query_var(&#039;paged&#039;);
	query_posts(&quot;cat=&quot;.$cat.&quot;&amp;order=ASC&amp;orderby=date&amp;posts_per_page=10&amp;paged=&quot;.$paged);
?&gt;
&lt;?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?&gt;

//吐き出しテンプレート

&lt;?php endwhile; else: ?&gt;
&lt;?php endif; ?&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://hiropo.co.uk/archives/550/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ディレクトリごとFTPでアップロードしてくれるスクリプト &#8211; コマンドラインPHP</title>
		<link>http://hiropo.co.uk/archives/279</link>
		<comments>http://hiropo.co.uk/archives/279#comments</comments>
		<pubDate>Sat, 22 Aug 2009 18:17:30 +0000</pubDate>
		<dc:creator>hirohi</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[pear]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://hiropo.co.uk/?p=279</guid>
		<description><![CDATA[JavaScriptネタばかりで飽きてきたので、PHPネタでも書いてみる。 最近はまっているのは、webアプリケーションを作るためのPHPではなく、コマンドラインでいろいろできるPHPスクリプトを組むことです。 bash &#8230; <a href="http://hiropo.co.uk/archives/279">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>JavaScriptネタばかりで飽きてきたので、PHPネタでも書いてみる。<br />
最近はまっているのは、webアプリケーションを作るためのPHPではなく、コマンドラインでいろいろできるPHPスクリプトを組むことです。</p>
<p>bashでも良いんだけど、やはり物足りないので、（と言ってもそこまで使いこなしていない・・・。）Pythonという選択肢もあるけど、Pythonわかんないので、PHPを使って、ディレクトリごとFTPでアップロードしてくれるスクリプトを書いてみた。</p>
<p>PEARライブラリを使ったソースコードになっているので、このクラスを使う場合、PEARのインストールが必要になってくる。</p>
<p>まずは、型となる ftp_dir_put.class を定義する。<br />
ファイル名は ftp_dir_put.php で保存。</p>
<pre>
&lt;?php

/*****************************************************
*
*  ftp_dir_put.class
*
*  ftpアップロードをディレクトリ単位で実行するクラス
*  Terminal上での実行専用
*
*****************************************************/

require_once &#039;Net/FTP.php&#039;;

class ftp_dir_put {

  /*-------------------------------------
  *  コンストラクタ
  */
  public function ftp_dir_put( $ftp_server, $ftp_user_name, $ftp_user_pass, $remote_dir, $local_dir, $mode ){
    /*-------------------------------------
    *  $target_hostオブジェクトを生成
    */
    $target_host = new Net_FTP( $ftp_server, 21 );

    //ftpサーバに接続
    if( $target_host-&gt;connect( $ftp_server  ) ){

      print $ftp_server.&#039; に接続しました&#039;.&quot;\n&quot;;

      //接続後、ログイン認証
      if( $target_host-&gt;login( $ftp_user_name, $ftp_user_pass ) ){
        print $ftp_server.&#039; にログインしました&#039;.&quot;\n&quot;;
        print $local_dir.&#039; を &#039;.$remote_dir.&#039; にアップロードしています･･･&#039;.&quot;\n&quot;;

        if( $target_host-&gt;putRecursive( $local_dir, $remote_dir, $mode ) ){

          print &#039;アップロードが終わりました&#039;.&quot;\n&quot;;
          if( $target_host-&gt;disconnect() ){
            print &#039;ログアウトしました&#039;.&quot;\n&quot;;
          }
          else{
            print &#039;ログアウトに失敗しました&#039;.&quot;\n&quot;;
          }
        }
        else{
          print &#039;アップロードに失敗しました&#039;.&quot;\n&quot;;
          if( $target_host-&gt;disconnect() ){
            print &#039;ログアウトしました&#039;.&quot;\n&quot;;
          }
          else{
            print &#039;ログアウトに失敗しました&#039;.&quot;\n&quot;;
          }
        }
      }
      else{
        print &#039;ログイン失敗しました&#039;.&quot;\n&quot;;
      }
    }
    else{
      print $ftp_server.&#039; に接続できません&#039;.&quot;\n&quot;;
    }
  }
}

?&gt;
</pre>
<p>そして、この ftp_dir_put.class を newして実行するファイルを作成<br />
ファイル名は、test_host.php とかで保存。</p>
<pre>
&lt;?php

require_once &#039;ftp_dir_put.php&#039;;

function init(){

  /*-------------------------------------
  *  プロパティセット
  */
  $ftp_server = &#039;host_name&#039;;       //ftpサーバーアドレス
  $ftp_user_name = &#039;user_name&#039;;    //ユーザー名
  $ftp_user_pass = &#039;user_pass&#039;;    //パスワード
  $remote_dir = &#039;/&#039;;               //サーバー側ディレクトリパス
  $local_dir = &#039;/var/www/html/&#039;;   //ローカル側ディレクトリパス
  $mode = true;                    //オーバーライド

  /*-------------------------------------
  *  実行オブジェクト
  */
  $test_init = new ftp_dir_put(
    $ftp_server,
    $ftp_user_name,
    $ftp_user_pass,
    $remote_dir,
    $local_dir,
    $mode
  );

}

init();

?&gt;
</pre>
<p>これで、あとはコマンドラインにて、この test_host.php を実行</p>
<pre>
[user@host ~]$ php test_host.php
</pre>
<p>で、あとは勝手にアップロードしてくれる。<br />
PEAR、凄いよ、PEAR。</p>
]]></content:encoded>
			<wfw:commentRss>http://hiropo.co.uk/archives/279/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>phpでmkdirとrmdirをひたすら繰り返してみた</title>
		<link>http://hiropo.co.uk/archives/166</link>
		<comments>http://hiropo.co.uk/archives/166#comments</comments>
		<pubDate>Tue, 07 Jul 2009 03:22:18 +0000</pubDate>
		<dc:creator>hirohi</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://hiropo.co.uk/?p=166</guid>
		<description><![CDATA[Ajaxも飽きてきたのでそろそろPHPをやろうと思いやっとphpに入門しました。 とりあえず無駄にディレクトリを作ったり消したりしてみた。 # あらかじめ、/ooiwa/ は、パーミッションを777にしてある。 $_di &#8230; <a href="http://hiropo.co.uk/archives/166">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Ajaxも飽きてきたのでそろそろPHPをやろうと思いやっとphpに入門しました。<br />
とりあえず無駄にディレクトリを作ったり消したりしてみた。</p>
<p># あらかじめ、/ooiwa/ は、パーミッションを777にしてある。</p>
<pre>
$_dir = '/ooiwa/ahya';
$permit = 0777;

if( !file_exists($_dir) ){
   print '"'.$_dir.'" はありません。'."\n";
   if( mkdir( $_dir , $permit ) ){
      print '"'.$_dir.'" を生成しました。'."\n";
   }else{
      print '"'.$_dir.'" を生成できませんでした。'."\n";
   }
}else{
   print '"'.$_dir.'" はすでに存在します。'."\n";
   if( rmdir( $_dir ) ){
      print '"'.$_dir.'" を削除しました。'."\n";
   }else{
      print '"'.$_dir.'" を削除できませんでした。'."\n";
   }
}
</pre>
<p>ディレクトリは、ルートディレクトリからみてどこにでも作成できるらしい。イケないファイルやディレクトリは外から見えない領域にこっそり作れちゃいますね。</p>
<p>ただし、あらかじめphpで作成する場所の親ディレクトリは、パーミッションを 777 にしておかなくてはいけないので、そこがめんどっちいです。chmod()とかでどうにかならないかと思いましたが無理でした。</p>
<p>まぁそれができてしまったらいくらでもクラックできてしまうしできなくて当然だよね。</p>
]]></content:encoded>
			<wfw:commentRss>http://hiropo.co.uk/archives/166/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>pearでHTTP_Requestクラスを使うには (1)</title>
		<link>http://hiropo.co.uk/archives/163</link>
		<comments>http://hiropo.co.uk/archives/163#comments</comments>
		<pubDate>Thu, 02 Jul 2009 16:19:21 +0000</pubDate>
		<dc:creator>hirohi</dc:creator>
				<category><![CDATA[pear]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://hiropo.co.uk/?p=163</guid>
		<description><![CDATA[phpネイティブだとHTTP_Request通信はソースをいっぱい書かなきゃいけないが、PEAR拡張モジュールを使うことによってかなりラクができる。 ▼参考サイト http://www.phppro.jp/school/ &#8230; <a href="http://hiropo.co.uk/archives/163">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>phpネイティブだとHTTP_Request通信はソースをいっぱい書かなきゃいけないが、PEAR拡張モジュールを使うことによってかなりラクができる。</p>
<p>▼参考サイト</p>
<p>http://www.phppro.jp/school/pear/vol8/1</p>
<p>HTTP_Requestクラスを使うには、下記のコマンドを実行する。</p>
<pre>
[root@host]# pear install HTTP_Request
</pre>
<p>これで晴れてHTTP_Requestが使いまくりである。<br />
リファレンスはまた後日。</p>
]]></content:encoded>
			<wfw:commentRss>http://hiropo.co.uk/archives/163/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>phpで削除できなくなったファイルを削除する</title>
		<link>http://hiropo.co.uk/archives/63</link>
		<comments>http://hiropo.co.uk/archives/63#comments</comments>
		<pubDate>Sat, 13 Dec 2008 13:46:37 +0000</pubDate>
		<dc:creator>hirohi</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://hiropo.co.uk/?p=63</guid>
		<description><![CDATA[こんぬつわ。いまさらPHPの面白さがわかってきた僕です。 はるか昔に構築したXOOPSサイトの残骸で、パーミッショエラーで FTP上から削除できなくなったファイルをどうにか削除する方法はないかと悩んでいました。 そこで思 &#8230; <a href="http://hiropo.co.uk/archives/63">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>こんぬつわ。いまさらPHPの面白さがわかってきた僕です。</p>
<p>はるか昔に構築したXOOPSサイトの残骸で、パーミッショエラーで<br />
FTP上から削除できなくなったファイルをどうにか削除する方法はないかと悩んでいました。</p>
<p>そこで思いついたのが、PHPでした。</p>
<p>unlink();というファイルを削除する関数があるので、<br />
PHPスクリプトをつくって対処することにしました。</p>
<p>削除対象：<br />
/xoops/uploads/photos/*.jpg<br />
/xoops/uploads/thumbs/*.jpg<br />
※ &#8220;*&#8221; は、[1-*]の数字</p>
<p>上記ディレクトリ内にあるjpgファイルをすべて削除したいので、<br />
下記のようなスクリプトを作成。</p>
<pre>
&lt;?php
$dir_photo = &quot;uploads/photos/&quot;;
$dir_thum = &quot;uploads/thumbs/&quot;;

for($i=0; $i&lt;100;$i++){
    $a = unlink($dir_photo . $i . &quot;.jpg&quot;);
    $b = unlink($dir_thum . $i . &quot;.jpg&quot;);

    if($a == true || $b == true){
        echo(&quot;[&quot;.$dir_photo.$i.&quot;jpg&quot;.&quot;]&quot;.&quot;true&quot;.&quot;\n&quot;);
        echo(&quot;[&quot;.$dir_thum.$i.&quot;jpg&quot;.&quot;]&quot;.&quot;true&quot;.&quot;\n&quot;);
    }else{
        echo(&quot;[&quot;.$dir_photo.$i.&quot;jpg&quot;.&quot;]&quot;.&quot;false&quot;.&quot;\n&quot;);
        echo(&quot;[&quot;.$dir_thum.$i.&quot;jpg&quot;.&quot;]&quot;.&quot;false&quot;.&quot;\n&quot;);
    }
}
?&gt;
</pre>
<p>削除に成功したら、&#8221;true&#8221;、失敗したら&#8221;false&#8221;を返すようにした。<br />
ファイル数の取得の仕方がわからなかったので、とりあえず<br />
ループで100回まわすことにした。</p>
<p>で、実行した結果、無事にすべてのjpgファイルの削除に成功。<br />
これでようやく残骸を削除することができた。</p>
<p>PHPって便利だねぇ。</p>
]]></content:encoded>
			<wfw:commentRss>http://hiropo.co.uk/archives/63/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScriptでvar_dump()が使えるライブラリ &#8211; funny.js</title>
		<link>http://hiropo.co.uk/archives/46</link>
		<comments>http://hiropo.co.uk/archives/46#comments</comments>
		<pubDate>Fri, 12 Sep 2008 09:53:43 +0000</pubDate>
		<dc:creator>hirohi</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://hiropo.co.uk/archives/46</guid>
		<description><![CDATA[PHPのvar_dump() が、JavaScriptで var_dump()できちゃうライブラリです。 var_dump() ver_0.5 ダウンロード 使い方は以下の通りです。 funny.jsを読み込んで、PHP &#8230; <a href="http://hiropo.co.uk/archives/46">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>PHPのvar_dump() が、JavaScriptで var_dump()できちゃうライブラリです。</p>
<p><a href="http://www.funnythingz.com/common/file/funny_0.5.lzh">var_dump() ver_0.5 ダウンロード</a></p>
<p>使い方は以下の通りです。<br />
funny.jsを読み込んで、PHPと同じ感覚で、var_dump() しちゃってください。<br />
シンタックスエラー以外は何かしら返ってくると思います。</p>
<pre>
&lt;script src=&quot;funny.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;

var a = 123;
funny.var_dump( a );

&lt;/script&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://hiropo.co.uk/archives/46/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>var_dumpの基礎をつくった &#8211; for in文</title>
		<link>http://hiropo.co.uk/archives/44</link>
		<comments>http://hiropo.co.uk/archives/44#comments</comments>
		<pubDate>Thu, 04 Sep 2008 09:23:46 +0000</pubDate>
		<dc:creator>hirohi</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://hiropo.co.uk/archives/44</guid>
		<description><![CDATA[あれから自分でも var_dump関数 をつくってみました。 var_dump(document); //var_dump function var_dump($obj) { var $objList = ""; for &#8230; <a href="http://hiropo.co.uk/archives/44">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>あれから自分でも var_dump関数 をつくってみました。</p>
<pre>
var_dump(document);

//var_dump
function var_dump($obj) {
	var $objList = "";
	for($i in $obj) {
		$objList += $i + "：" + $obj[$i] + "\n";
	}
	alert( $objList );
}
</pre>
<p>windowとかやったら多分PC落ちるんじゃないかと・・・。</p>
<p>alert(); じゃなくて、documentに書き出す仕様をつくったらまた公開しまする。</p>
]]></content:encoded>
			<wfw:commentRss>http://hiropo.co.uk/archives/44/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

