ラベル php の投稿を表示しています。 すべての投稿を表示
ラベル php の投稿を表示しています。 すべての投稿を表示

2011年9月22日木曜日

PHPでSocket通信したときレスポンスが遅い

PHPでSocket通信した際にレスポンスが遅い現象が発生した。
どうやら「HTTP/1.1」 の持続接続機能で、接続が維持された状態になって終了されず遅くなっていたのが原因らしく、リクエストヘッダに「Connection: Close」を入ると、現象を改善できた。

参考にしたエントリー
http://d.hatena.ne.jp/kaijikaiji/20091015

2010年12月9日木曜日

web上でER図が作成できる「wwwsqldesigner」を試してみた

WEB上でER図作成できないか という話になったので、調べるとGoogleが出してた。

wwwsqldesigner
http://code.google.com/p/wwwsqldesigner/

使用方法は、ソースをダウンロードしてphp5が動作するサーバにアップ。

mataggy toolsにアップしてみました。
http://www5.pf-x.net/~mataggy/tools/wwwsqldesigner-2.5/

保存形式はXMLです。(その他形式にも出力できる模様)
DataBaseに保存することも可能です。

*googleが提供しているサンプルを読込む方法。

[Save/Load] > [Input/Output] にサンプルのXMLをコピーして貼り付け > [ OK ] 押すと表示されます。

wwwsqldesignerについてはまだ深く調べてないですが、使用者レビューではER図
を簡易作成するソフトと位置づけですね。
でもマシンにインストールする必要ないのはかなり便利かも。

2010年3月30日火曜日

PHPでファイル・ディレクトリを圧縮する方法 ~その2~

二つ目の圧縮方法は、便利なクラスライブラリを利用する方法。
PHP Classesのサイトに公開されてる 「CreateZipFile.inc.php」を使えば簡単に圧縮できて、ダウンロードまでできてまう便利なクラス。

Create ZIP File :

そして複数ファイルをアーカイブに登録する為のメソッドも使ってみました。

※少しクラスの修正を行いました。


include_once("CreateZipFile.inc.php");
$createZip = new CreateZipFile;

$createZip -> addDirectory("dir/");

// testディレクトリ以下全てを対象にする
$createZip->get_files_from_folder('test/', 'dir/');

$fileName = "test.zip";
$fd = fopen ($fileName, "wb");
$out = fwrite ($fd, $createZip -> getZippedfile());
fclose ($fd);

$createZip -> forceDownload($fileName);
@unlink($fileName);

PHPでファイル・ディレクトリを圧縮する方法 ~その1~

サーバ上のファイルをまとめて圧縮する方法をちょっと考えてみた・・・
一つ目の方法としては、外部コマンドを実行して圧縮する方法。

サーバが外部コマンド実行関数を有効にしていないと使えないけど、とても速いし簡単。

$compressTargetDir(圧縮対象ファイル・ディレクトリ)と$compressedFileName(圧縮ファイル名)を
引数として関数を呼び出すと圧縮してくれます。


function makeCompressedFile($compressTargetDir , $compressedFileName) {

 if(is_null($compressTargetDir) || is_null($compressedFileName)){
  return -1;
 }

 // 文字エンコード変換
 $compressTargetDir = mb_convert_encoding($compressTargetDir,"SJIS");
 $compressedFileName = mb_convert_encoding($compressedFileName,"SJIS");

 // 対象ファイル・ディレクトリ存在チェック
 if (!file_exists($compressTargetDir)) { return -1; }

 // 圧縮処理
 $re = exec("zip -r $compressedFileName $compressTargetDir", $output, $return_var);

 // 正常終了したか確認
 if($return_var === 0){
  return 1;
 }else{
  return -1;
 }
}