カテゴリー別アーカイブ: PHP

phpBBの文字化け

別サイトに phpBB を設置したのだが、いまいち文字化けしてしまいました。

phpbb2 文字化け – こまちドーナツを参考に、

データベースの文字コードと、phpBB自体の文字コード(UTF-8版とEUC-JP版があるので)をあわせたら上手くいきましたので、個人用にメモ

カテゴリー: PHP | コメントをどうぞ

PHPで外部ファイルのサイズを取得する方法

ローカルのファイルのサイズを取得するときには filesize() 関数を使えば良いのですが、
どうもリモートでのファイルサイズを取得するには filesize() は使えないらしい。

というわけで探してみたところ、次のような方法で外部のファイルのサイズを取得できるようです。
ただし相手のサーバーの設定で Content-Length ヘッダーを返すようになっていないと使えないので注意。

戻り値は byte 単位です。


<?php

# 外部URIのファイルサイズを取得

function getFileSize($uri) {

    
$headers = get_headers($uri, 1);        

    if ((!
array_key_exists("Content-Length", $headers))) { return false; }

    return
$headers["Content-Length"];

}

?>

著色にはPHPソースをハイライト表示を使用しました。

カテゴリー: PHP | コメントをどうぞ

PHPで日本語メール送信スクリプト

PHPで日本語メールを送信するスクリプトの一番簡単な例。

機能としては

  • メール件名(日本語可)
  • 差出人アドレス
  • 送信先アドレス
  • メール本文(日本語可)

をそれぞれ指定可能です。

続きを読む

カテゴリー: PHP | コメントをどうぞ

phpで文字コード変換

PHPで文字コードを変換するために、mb_stringを実装しました。

mb_stringを有効にする

php.iniで[mbstring]を

--------------------------------------
[mbstring]
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = pass (SJIS では文字化けすることがある)
mbstring.encoding_translation = On (Off を On に. BBSなどで文字化けするようなら Offに)
mbstring.detect_order = auto
mbstring.substitute_character = none;
mbstring.func_overload = 0
--------------------------------------

さらに、dllの位置指定とコメントアウトも。
----------------------------------
extension_dir = C:\php\extensions\ (デフォルトの ./ をインストール先に合わせて変更)
extension=php_mbstring.dll
output_handler = mb_output_handler
----------------------------------

と変更。

phpで文字コード変換

$str = mb_convert_encoding($str, "EUC-JP", "auto");

これで$strをEUC-JPに変換できます。 autoに指定しておけば、変換元の文字コードは自動で判別してくれます。

$str = mb_convert_encoding($str, "EUC-JP", "UTF-8");

こうすれば、UTF-8からEUC-JPへの変換です。文字コードが分かっている場合は、こちらが確実でしょう。

参考サイト
AN HTTPDでPHPを動かす
PHP: mb_convert_encoding – Manual

カテゴリー: PHP | コメントをどうぞ