[ 2011.03.11 ] by h_takimoto | Categories:PHP, 技術情報
結論
PHP4、PHP5で、全角ファイル名を含むパスに対して
pathinfo関数やbasename関数でファイル名を取得しようとすると失敗する事がある。
※ファイル名の先頭がマルチバイト文字の場合に失敗する。
※文字コードの種類によらない
※OSの種類によらない
これはPHP4、PHP5の仕様なので、別の手段で対応しよう。
PHP :: Bug #37738 :: basename does not work with Japanese
代替案
// 正常な例
$path = 'http://www.example.com/otakara.jpg';
echo basename($path);
$pathinfo = pathinfo($path);
echo $pathinfo['basename'];
// 失敗例
$path = 'http://www.example.com/大変貴重な画像.jpg';
echo basename($path);
$pathinfo = pathinfo($path);
echo $pathinfo['basename'];
// 代替案の一例
echo end(explode('/', $path));
echo end(explode('/', $path));
////
// OUTPUT
//
// otakara.jpg
// otakara.jpg
// .jpg
// .jpg
// 大変貴重な画像.jpg
// 大変貴重な画像.jpg
滝本
[ 2010.12.27 ] by h_takimoto | Categories:システムトレンド
最近、ベリサインのSSL証明書を設定する際に
「おや?」と思った事があったので、エントリしておきます。
詳しくは下記のURLをご覧頂きたいのですが、
中間CA証明書のインストールについて|FAQ|ヘルプデスク|サーバID|日本ベリサイン
ベリサイン証明書の階層が3階層から4階層になりました。
—————————————-
■変更前
—————————————-
ルート証明書
中間CA証明書
サーバID
—————————————-
■変更後
—————————————-
ルート証明書
クロスルート設定用証明書
中間CA証明書
サーバID
—————————————-
サーバー管理者の設定作業としては、
1つの中間証明書ファイルに
2つの証明書(クロスルート設定用証明書、中間CA証明書)を
合わせて記載する所がポイントになります。
Apache + OpenSSL 中間CA証明書のインストール手順|サーバIDのインストール|日本ベリサイン
もしも、クロスルート設定用証明書の設定が漏れたりすると、
証明書の階層構造がつながらず、正当性が確認できない場合が発生します。
たとえばケータイからSSLサイトにアクセスした際に
「この接続先は安全でない可能性があります」
なんて表示されてしまうのは、中間証明書のインストールが
正常になされていない場合に良くあるケースです。
現在、使用中の証明書には影響はありませんが、
次回の更新時には意識する必要がありますので、是非、覚えておきましょう。
滝本
[ 2010.12.24 ] by King | Categories:.NET
DataGridViewでのクリップボードへのコピーの動作において、
セルを編集している状態の時は選択しているテキストをコピーし、
セルを編集していない状態の時は選択行ごとコピーする場合、
以下の方法で実現できたので紹介します。
続きを読む »
[ 2010.12.02 ] by h_tab | Categories:システムトレンド
これまでiPhone 3GS を使ってきましたが、このたびAndroidに乗り換えました。
じつは私、大のApple嫌いなのですが、1年前はこれならガラケーから乗り換えても良い思えるスマートフォンがiPhoneくらいしかありませんでしたので、仕方なくiPhoneを選択しました。
スマートフォンとしてのiPhoneは十分実用的で、機能面では特に不満はありませんでしたが、どこか面白みがなく、他に良いスマートフォンがないかずっと探していました。
(Apple嫌いなのでiTuneやiPod機能はほとんど使っていませんでした)
そんな折、Android 2.1のスマートフォンに触れる機会があったのですが、思いのほかサクサク動作することが確認でき、ようやくiPhone以外のスマートフォンに乗り換えても良いと確信できるようになりました。
ですが、ただ単純にAndroidに乗り換えても面白くありません。
そこで、SIMフリー版のHTC Desire HDを購入してみました。
(諸事情でなぜかSoftBank番の001HTも同時に購入することになりました・・・)
続きを読む »
[ 2010.11.04 ] by hashimoto | Categories:Python, セミナー/勉強会
Python東海第12回勉強会をVISHにて開催しました。
■Google App Engineのスタートガイドハンズオン
開発環境のインストールから、ビックテーブルのところで終了。
この続きは11月20日(土)に実施します。
・ハンズオンの内容として
開発環境の構築
バージョン管理ツールの使い方
GAE のスタートガイド を 「データストアの使用」
管理コンソールの起動
GQLの利用
今回は14名の参加で大盛況でした。
[ 2010.10.29 ] by h_tab | Categories:システムトレンド
最近、FreeBSDサーバからLinuxサーバへシステムを移行する機会がありました。
その際ユーザアカウントも一緒に移行する必要がありまして、
作業したポイントをまとめておきます。
続きを読む »
[ 2010.10.18 ] by y_sato | Categories:システムトレンド
Windows Azure を 無料(25時間/月)で使用できる初期特別提供プランは 2010 年10 月31 日で終了されるので、まだお試しになっていない方は試してみてはどうでしょうか、Windows Azure では.NET言語だけでなく非.NET言語のPHPやJAVAのSDKやPHP開発者向けのEclipseプラグイン「Windows Azure Tools for Eclipse」があるのでPHPには慣れてるけど.NET言語に慣れていない方も簡単にお試しができますよ
■登録に必要なもの
・Windows Live ID
・クレジットカード(無料分以降は課金されるため)
続きを読む »
[ 2010.10.14 ] by King | Categories:PHP
phpのFPDFを使ってPDF出力をする場合のに、
ページ番号を表示させるには
// 現在のページ番号を取得
$page_no = $pdf->PageNo();
// 「現在のページ番号/総ページ数」を表示
$pdf->Cell(0, 4, $page_no.'/{nb}', 0, 0, 'C');
などのようにして出力すれば良いのですが、
ある決まった単位(管理番号ごとなど)で
ページ番号を1から始める、つまり
1ページ目:1/2
2ページ目:2/2
3ページ目:1/4 ←単位の切り替わり
4ページ目:2/4
5ページ目:3/4
・・・
のようにする方法を紹介します。
続きを読む »
[ 2010.10.08 ] by hashimoto | Categories:PHP, Python, その他, システムトレンド, セミナー/勉強会, ツール紹介, 技術情報
なかなか参加ができていなかった勉強会ですが
10月は名古屋地区で10月16日にAndoroid勉強会、10月23日にPython東海の勉強会があるので
久々に技術系サイトを巡回したら
「マイクロフレームワーク」というなんだか新鮮な匂いのするキーワードを発見したので検索してみた。
勉強のネタとして自宅のマシンに入れようと思います。
マイクロフレームワークと呼ばれているフレームワーク
・ちいたん(PHP)
http://php.cheetan.net/
・MicroMVC(PHP)
http://micromvc.com/
・DENIED(Python)
http://denied.immersedcode.org/
・Flask(Python)
http://flask.pocoo.org/
[ 2010.10.08 ] by h_tab | Categories:.NET, システムトレンド
WEBサーバ上のデータベースをメンテナンスするツールとしてはphpMyAdminやphpPgAdminなどがありますが、Webのインターフェースのため少し使いにくい部分もあります。
普段使い慣れたデータベース管理ツールでWEBサーバ上のデータベースにアクセスするための方法として、以前このブログでもSSHのポート転送を利用する方法が紹介されていました。
トンネリングを用いてSSHでDB接続
http://www.vish-develop.jp/tech/127
ですがこのやり方は一般の方々には難しいため、もう少し簡単にポート転送を利用できないかと色々探してみたのですが、どれもSSHクライアントを利用する例しか見つかりませんでした。
(ポート転送だけが簡単に出来ればよいのですが・・・)
そこで自分でSSHポート転送ツールが作成できないかと思い、C#で利用できるSSHライブラリを探してみました。
続きを読む »
最近のコメント