タグ

Tipsとphpに関するKouJustinのブックマーク (26)

  • CSV読込みの為にfgetcsvを利用しても一文字目が文字化けになる - キュニナル!!

    うちの会社の環境のせいなのか、PHP5からこういった仕様になったのかどうかわかりません。(PHP4では正常に動いていたコードだったので…)CSVで日語を入れていた場合、一文字目だけが文字化けしてしまう現象が起こります。これは、PHPの内部関数は通常EUC-JPエンコードで処理をしているのに、CSVファイルはSJISエンコードなのが、問題のようです。(どうやら半角1文字分が無視されているみたい?)元々のCSVデータfgetcsvにて読込後コースRース選択I択タイプ^イプ支払いx払いステータスXテータス表示\示■解決法解決方法として、結局はエンコード周りをあさればよいみたいです。CSVを読込む「fgetcsv」の行の前に setlocale(LC_ALL, 'ja_JP'); と記述することで、直る場合もあるみたいです!それでも駄目だったら…専用に関数を作成されたPHPプロ達がいるみたいなの

  • PHP5でfgetcsvが正常に動作しない : ::yossy.blog::

    Posted on 7月 19, 2006 Filed Under PHP | CSVのインポート機能を持ったシステムをPHP4環境からPHP5環境へ移行したら、 なぜかCSVデータを正しく読み込んでくれない。っていうか一文字目が文字化け。 超悩んだあげくぐーぐるさんで検索しても以下のような記事しかみつからず。 [PHP-dev 1205] PHP5のfgetcsv()関数について 人力検索はてな - PHP4からPHP5へソースの移(長いので略) csvファイルを読み込むと1バイト目の日語が文字化け 3つ目の掲示板のyossyはあたくし自身なんですが・・・。 setlocaleとかいろいろ試してもしても結局読み込まれるCSVの文字コードは ほとんどSJISなせいなためかなんだかうまくいきません。 ちなみに検証環境はほぼFedoraCore4のデフォルトです。 PHPは5

  • quoted-printable文字列の変換 - [サンプルコード/PHP] ぺんたん info

    quoted-printable文字列とは、メールなどに使われるコードで、 RFC2045のsection6.7やRFC2821のsection4.5.2によって定義されています。 基的な仕様は次の通りです。 [1] 文字コードを10進数で表したときの、32以下、61、126以上の文字の前に『 = 』を付けて16進数の文字コードに置き換える。 [2] 1行が76文字を越す場合([1]の変換を行ってカウント)、『 = 』を付けて改行する。 quoted-printableでエスケープされない文字の一覧 ASCIIコード表 PHPでは、quoted-printable文字列にエンコードする関数quoted_printable_encodeやimap_8bit、デコードする関数quoted_printable_decodeやimap_qprintがあります。 しかしquoted_printab

  • PHPにはインターフェイスというものがありますよ、という話 - id:anatooのブログ

    なにかとPerlPythonRubyJavaScript等の言語と比べて機能の不足を言及されることの多いPHPですが、 PHPには逆にこれらの言語にはない機能がある、それはインターフェイスだ、という話です。 このインターフェイスという奴は、タイプヒンティングと共に、PHPという言語がさっき挙げたような他の軽量言語とは違ったプログラミングスタイルを持っていることを象徴しています。 インターフェイスって何? JavaやAS3なんかをやっている人だとわかるかと思いますが、有体にいえばinterfaceとはメソッドの宣言を集めたものです。 PHPマニュアルから説明を引用すると インターフェイスにより、あるクラスが実装する必要があるメソッドの 種類を、 これらのメソッドの実体を定義することなく、指定するコードを作成できるようになります。 (PHP: オブジェクト インターフェイス - Manu

    PHPにはインターフェイスというものがありますよ、という話 - id:anatooのブログ
  • PHPでマルチスレッド(バックグラウンド処理)を実現する方法 - EC studio 技術ブログ

    PHPで長時間かかる重い処理を行うとき、 マルチスレッドで動かせたらなぁ!と思うことがよくあります。 マルチスレッド処理を行うことで、時間のかかる処理を 複数同時に並列実行でき、高速化することができます。 (特に通信処理などで遅延がある場合に有効です) PHPにはpcntl_forkというプロセスをフォーク(複製)することが できる関数がありますが、これはPHPCGIモードで 動かしている場合にのみ有効です。 通常はPHPをApacheモジュールとして動作させていることが 多いので、これが使えないケースが多々あります。 他には、system関数などでシステムコールを行い、 など & を使って実行するという方法もありますが、 これもphpCGI版として実行できなければいけません。 システムコールで呼ぶプログラムをPerlなどで 書けばいいのですが、できればPHPで全部統一したいものです。

  • PHP をコマンドラインから使用する

    第 43章PHP をコマンドラインから使用する 4.3 以降で PHP は Command Line Interface を意味する CLI という名前の新しい SAPI 型 (Server Application Programming Interface)をサポートします。 名前から分かるように、この SAPI 型は、 PHP によるシェル(またはデスクトップ)アプリケーションの開発を 主な対象としています。 CLI SAPI と他の SAPI の間には、 いくつかの違いがあります。章では、これらについて詳細を説明します。 CLI と CGI はその振る舞いの多くが 共通であるにもかかわらず、違う SAPI であることに留意してください。 CLI SAPI は、当初 PHP 4.2.0 でリリースされましたが、 この時点では実験的なステータスにあったため、 ./configure を