2012.06.24

PEARをXamppにインストール

PEARって何?とxamppインストールをメモ。すぐ忘れるので。

(続きを読む…)

2011.06.06

PHPで同じディレクトリのファイルを一覧表示

ごくまれに、でも時々出番があるのでメモ。

素晴らしき参考元:○LINK:ディレクトリのファイルを一覧表示 - PHP/データベース

http://php.eweb-design.com/0206_di.php

 

 

HTML:
  1. <META http-equiv=Content-Type content="text/html; charset=utf-8">
  2. <TITLE>files</TITLE>
  3.  
  4. <h3>右クリックして保存して下さい</h3>
  5.  
  6. <OL><LI>files<FONT size='-1'> (ディレクトリ)</FONT></LI><LI>map<FONT size='-1'> (ディレクトリ)</FONT></LI><LI>sandbox<FONT size='-1'> (ディレクトリ)</FONT></LI><LI>scripts<FONT size='-1'> (ディレクトリ)</FONT></LI><LI>test<FONT size='-1'> (ディレクトリ)</FONT></LI><LI>upfiles<FONT size='-1'> (ディレクトリ)</FONT></LI><LI>wp-admin<FONT size='-1'> (ディレクトリ)</FONT></LI><LI>wp-content<FONT size='-1'> (ディレクトリ)</FONT></LI><LI>wp-includes<FONT size='-1'> (ディレクトリ)</FONT></LI><LI><a href=.//readme-ja.html>readme-ja.html</a><FONT size='-1'> (05/09, 4KB)</FONT> </LI><LI><a href=.//.htaccess>.htaccess</a><FONT size='-1'> (08/07, 0KB)</FONT> </LI><LI><a href=.//index.php>index.php</a><FONT size='-1'> (05/09, 0KB)</FONT> </LI><LI><a href=.//license.txt>license.txt</a><FONT size='-1'> (05/09, 17KB)</FONT> </LI><LI><a href=.//googlea9e5edf34c31ad67.html>googlea9e5edf34c31ad67.html</a><FONT size='-1'> (04/19, 0KB)</FONT> </LI><LI><a href=.//wp-activate.php>wp-activate.php</a><FONT size='-1'> (05/09, 4KB)</FONT> </LI><LI><a href=.//readme.html>readme.html</a><FONT size='-1'> (05/09, 13KB)</FONT> </LI><LI><a href=.//wp-blog-header.php>wp-blog-header.php</a><FONT size='-1'> (05/09, 0KB)</FONT> </LI><LI><a href=.//wp-app.php>wp-app.php</a><FONT size='-1'> (05/09, 39KB)</FONT> </LI><LI><a href=.//wp-atom.php>wp-atom.php</a><FONT size='-1'> (03/01, 0KB)</FONT> </LI><LI><a href=.//wp-comments-post.php>wp-comments-post.php</a><FONT size='-1'> (05/09, 4KB)</FONT> </LI><LI><a href=.//wp-commentsrss2.php>wp-commentsrss2.php</a><FONT size='-1'> (03/01, 0KB)</FONT> </LI><LI><a href=.//wp-config-sample.php>wp-config-sample.php</a><FONT size='-1'> (05/09, 4KB)</FONT> </LI><LI><a href=.//wp-config.php>wp-config.php</a><FONT size='-1'> (10/26, 4KB)</FONT> </LI><LI><a href=.//wp-cron.php>wp-cron.php</a><FONT size='-1'> (05/09, 3KB)</FONT> </LI><LI><a href=.//wp-feed.php>wp-feed.php</a><FONT size='-1'> (03/01, 0KB)</FONT> </LI><LI><a href=.//wp-links-opml.php>wp-links-opml.php</a><FONT size='-1'> (05/09, 2KB)</FONT> </LI><LI><a href=.//wp-load.php>wp-load.php</a><FONT size='-1'> (05/09, 3KB)</FONT> </LI><LI><a href=.//wp-login.php>wp-login.php</a><FONT size='-1'> (05/09, 27KB)</FONT> </LI><LI><a href=.//wp-mail.php>wp-mail.php</a><FONT size='-1'> (05/09, 8KB)</FONT> </LI><LI><a href=.//wp-pass.php>wp-pass.php</a><FONT size='-1'> (05/09, 0KB)</FONT> </LI><LI><a href=.//wp-rdf.php>wp-rdf.php</a><FONT size='-1'> (03/01, 0KB)</FONT> </LI><LI><a href=.//wp-register.php>wp-register.php</a><FONT size='-1'> (05/09, 0KB)</FONT> </LI><LI><a href=.//wp-rss.php>wp-rss.php</a><FONT size='-1'> (03/01, 0KB)</FONT> </LI><LI><a href=.//wp-rss2.php>wp-rss2.php</a><FONT size='-1'> (03/01, 0KB)</FONT> </LI><LI><a href=.//wp-settings.php>wp-settings.php</a><FONT size='-1'> (05/09, 10KB)</FONT> </LI><LI><a href=.//wp-signup.php>wp-signup.php</a><FONT size='-1'> (05/09, 18KB)</FONT> </LI><LI><a href=.//wp-trackback.php>wp-trackback.php</a><FONT size='-1'> (05/09, 4KB)</FONT> </LI><LI><a href=.//xmlrpc.php>xmlrpc.php</a><FONT size='-1'> (05/09, 3KB)</FONT> </LI></OL>
  7. </BODY>
  8. </HTML>

2011.05.26

PHPでテキストファイル合体

たくさんのテキストファイルをPHPで結合しました。
やっていることはテキストファイルを読み込んで、一行づつ送り出してるだけです。
テキストファイル結合自体は、フリーソフトを使う方法や、コマンドプロンプトでもできるようです。
今後の処理のためPHPでやります。

※追記 これだとログファイルがでかすぎるとメモリエラーが出るので、追々改変。

PHP:
  1. //logフォルダにtxtを放り込んで実行
  2.  
  3.  
  4. $dirAddress = "./log/";
  5. $serchFileWorld = "txt";
  6.  
  7. $tinfo=date("Ymd_His")//時間情報
  8. $fn=sprintf("./bindLogs/bind-%s.txt",$tinfo);
  9. $fp=fopen($fn,"ab");
  10.  
  11. $fnLog=sprintf("./bindLogs/bind-%s-writeLog.txt",$tinfo);
  12. $fpLog=fopen($fnLog,"ab");
  13.  
  14. $cntFile=0;
  15. $cntLine=0;
  16. $cntIndiviFile=0;
  17. $cntAll=0;
  18.  
  19. $d = dir($dirAddress)//検索対象ディレクトリ指定
  20. while (($entry = $d->read())) {  //ディレクトリ検索
  21.     if(eregi($serchFileWorld,$entry)){    //ファイル名にtxtが含まれているか
  22.  
  23.         $cntLine=0;
  24.         $cntIndiviFile=0;
  25.  
  26.         $line=file($dirAddress.$entry)//該当ファイル読み込み
  27.  
  28.         foreach ($line as $l ) {
  29.             fputs($fp,$l);
  30.             $cntIndiviFile++;
  31.         }
  32.  
  33.         $sayLoadOK = $entry."    ----LOAD OK----    line is    ".$cntIndiviFile;
  34.         echo $sayLoadOK;
  35.  
  36.  
  37.         $cntAll += $cntIndiviFile;
  38.         $cntFile++;
  39.  
  40.         $sayNow = "    NOW    ".$cntAll."    <br />";
  41.         echo $sayNow;
  42.        
  43.         $saying = $sayLoadOK.$sayNow."\n";
  44.         fputs($fpLog, $saying);
  45.  
  46.     }
  47. }
  48. fclose($fp);
  49.  
  50. $d->close();
  51.  
  52. $reFn = "bind_file".$cntFile."_line".$cntAll;
  53.  
  54. rename($fn, "./bindLogs/$reFn.txt");
  55.  
  56. $sayAll = "\n"."\n"."<br />"."<br />"."$reFn"."<br />"."    ALL LINE is    ---------    ".$cntAll;
  57. echo $sayAll;
  58.  
  59.  
  60. fclose($fpLog);
  61.  
  62. $reFnWriteLog = $reFn."_writeLog";
  63. rename($fnLog, "./bindLogs/$reFnWriteLog.txt");

勉強になったところは「ディレクトリ全てに処理を行う」部分

PHP:
  1. $d = dir($dirAddress)//検索対象ディレクトリ指定
  2. while (($entry = $d->read())) {}        //ディレクトリ検索

また↓の部分をゴニョゴニョしたら、一行ごとにパターンマッチで条件分岐もできるはず。

PHP:
  1. foreach ($line as $l ) {
  2.             fputs($fp,$l);
  3.             $cntIndiviFile++;
  4.         }