php

エラーメッセージが文字化け

php

failed to open stream: ���Τ褦�ʥե������ǥ��쥯�ȥ�Ϥ���ޤ��� みたいな感じでとんでもない文字化けしてエラーが出てたので調べたところ以下の文字コード定義が悪さをしていた。レガシーソースだったからなぁ。 setlocale(LC_ALL, 'ja_JP');

session_start()は排他ロックがかかる

php

同じsession_idだと排他ロックがかかる http://qiita.com/cufh/items/e04f544ff3f68ff4a883

headerとreadfileを使って画像を出すときは

PHP

header('X-Content-Type-Options: nosniff'); を呼び出して置かないとIEで脆弱性が発生する可能性あり。 https://msdn.microsoft.com/ja-jp/library/ie/gg622941%28v=vs.85%29.aspx http://swdyh.tumblr.com/post/50154551190/nosniff

Research Artisan liteでインストールエラー

PHP

DB情報があってるのにエラーが出る場合はerror_reportingのE_DEPRECATEDにひっかかってる。 mysql_connectと非推奨の接続が原因。 一応以下の設定で動くようにはなる。 error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT解析タグがHTTP接続でもHTTPSにな…

HTTP_Requestで思うような結果が来ない時は

GETにしてパラメーターをhttp_build_queryで生成して渡してみるといいかも。 POSTだと/とかその辺の文字列がおかしくなる可能性あり。POST制限があるところは何かでパラメーターを変換してみるとうまくいくかも。

IIS8+FastCGI+PHP5.6でSQL系等の外部要因エラーが出るとHTTP エラー 500 - Internal Server Errorになる件

PHP

どうもPHP5.6.2(NonThread)だとエラーハンドリングがうまくいっておらず、SQLエラー等が起きると php5.dllで例外が起きてクラッシュするっぽい。(今回はPostgres9.3.5) PHP5.5を導入することで落ち着いた。 トレースしても意味無し。(FastCGI プロセスが予…

FuelPHPかLaravelか。

PHP

現在、フレームワークが複数あるが有力なのはFuelPHP。 fieldsetを使うとQuickFormのようなバリデーション&出力が出来る。 また、Smartyを利用しての出力も可能らしい。要調査。 本来はZendFrameworkが仕事的にはウケがいいんだろうけど、2から制約づくしに…

URL形式文字列をパースする。

PHP

parse_strを使う。検索条件保存など。 http://jp.php.net/manual/ja/function.parse-str.php

FPDFで円描画。

PHP

以下関数をPDF_Japaneseクラスの中に入れた。 http://www.fpdf.de/downloads/addons/69/$pdf->circle(x,y,size);

10進数2進数ちょいメモ

PHP

0埋めしたい時。 print sprintf("%09b",7); 結果 000000111

NetBeans + PHP + VMPlayer(Centos6)の開発環境構築。

随時メモ的な。 ・VMPlayerにCentOS6を入れる。 ・Windows側にNetbeansのプロジェクトを格納するフォルダを作成する ・VM機能の共有フォルダ機能を使って上記のプロジェクトフォルダを指定 ・共有フォルダ(/mnt/hgfs/****)をドキュメントルートにするとロー…

PEAR/Archive/Zip.phpでエラー

PHP

Warning: gzinflate() [function.gzinflate]: data error in **** のエラーが出た時は、圧縮ファイルにパスワードがかかっていないかチェックする。

Passenger Error #2などのエラーが出る場合。

Redmineやその他Rubyプロダクトをインストールした後に、VirtualHostを使っていてPassenger Errorが出るようになったら、 httpd.confに以下を追加。(conf.d/passenger.confの人もいるかも。) PassengerEnabled off これでどのサイトもRailsアプリ扱いにして…

preg_replaceで文字化け

PHP

()[]などの正規表現で使う特殊文字を変数にいれてそれを条件にすると文字化けたり、エラーがでるので「preg_quote」を使う。 $reg = "(hogehoge)"; $text = preg_replace("/".preg_quote($reg)."/","xxxx",$text);

簡単!たった6行のコードで HTML取得&解析をするPHPスクリプト

PHP

Re:簡単!たった13行のコードで HTML取得&解析をするPerlスクリプト - DQNEO起業日記 に感化されて、PHP版を作ってみました。パースライブラリは以下を使います。 http://sourceforge.net/projects/simplehtmldom/ require_once('simple_html_dom.php'); …

Visual StudioをベースにしたPHP統合開発環境

PHP

http://itpro.nikkeibp.co.jp/article/COLUMN/20090417/328549/ これどうなんだろう。体験版を試してみようかな。 今はPeggyで作ってるんだけどこれはこれで便利なんだよなぁ。

CakePHP 1.2で「Notice (8): unserialize() [function.unserialize]」

PHP

1.2をインストールしてWelcomeページを開くとタイトルのようなエラーがでる。 該当箇所はcakeのcoreのfile.phpの184行目。 読み込み時にBOOLのfalseデータをアンシリアライズしてるようだ。 ということで、直書きパッチ。 file.php 180: if ( $data !== '' &…

ファイルの最後が空行だったら改行を消す処理。

PHP

$f_size ) die("Pugya-."); $fp = fopen( $strFileName, "r+" ) or die("Can't open file."); flock($fp,LOCK_EX); fseek($fp,$f_size-strlen($nl)); $buff = fgets($fp,strlen($nl)+1); if( $buff == $nl ){ rewind(…

UTF-8からSJISに変換する際に文字化けする件について

PHP

UTF-8からSJISに変換する際以下のようにすると文字化ける。 $str = mb_convert_encoding( $str, "UTF-8", "SJIS"); 上記の変換ではIBM拡張文字が文字化けるのである。しかし、以下のようにすると文字化けない。 これは絵文字が文字化ける際にも便利である。 …

htmlspecialcharsは万能ではない。

PHP

参考資料 http://shimax.cocolog-nifty.com/search/2007/12/phphtmlspecialc_ac07.html Smartyのescapeを利用していてればhtmlspecialcharsに不具合があればplug-in内のescapeを 書き換えて対応可能だが、とかしてたら目も当てられないな。

Smarty register_prefilterが動かない

PHP

一度コンパイルフォルダを空にしてみよう^^ 1時間ハマっちゃったじゃないか。コンパイルチェックをtrueにしてても該当のテンプレートファイルを変更しない限りは コンパイルされないから注意。 デバッグ環境では$smarty->clear_compiled_tpl();を使うのも…