vbscriptでmsxmlを利用してhttpアクセスする例です。
第一引数はアクセスするURL、第二引数はアクセスした内容を保存するファイル名です。

「Set OBJ_Http = WScript.CreateObject(“MSXML2.ServerXMLHTTP”)」の部分は、
「Set OBJ_Http = WScript.CreateObject(“Microsoft.XMLHTTP”)」としてもアクセス出来ます。

違いについてはMicrosoftのサポート情報を参照して下さい。
http://support.microsoft.com/kb/290761/ja

 


Option Explicit


  Dim OBJ_Args

  Set OBJ_Args = WScript.Arguments


  If OBJ_Args.Count <> 2 Then

    WScript.Echo "Usage: httpget URL Path"
    WScript.Quit 1


  Else

    HttpGet OBJ_Args(0),OBJ_Args(1)


  End If




Sub HttpGet(ByVal STR_URL, ByVal STR_Path)


  Const adTypeBinary = 1 'Binary
  Const adTypeText   = 2 'Text

  Const adSaveCreateNotExist  = 1
  Const adSaveCreateOverWrite = 2


  Dim OBJ_Http
  Dim OBJ_ADO

  Set OBJ_Http = WScript.CreateObject("MSXML2.ServerXMLHTTP")

  Call OBJ_Http.Open("GET", STR_URL, False)

  If Err.Number <> 0 Then

      WScript.Echo "エラー:" & Err.Description
      WScript.Quit 1

  End If

  OBJ_Http.Send

  If Err.Number <> 0 Then

    WScript.Echo "エラー:" & Err.Description
    WScript.Quit 1

  End If

  If OBJ_Http.status <> 200 Then

    WScript.Echo "Return Coad:" & OBJ_Http.status
    WScript.Quit 1

  End If


  Set OBJ_ADO = WScript.CreateObject("ADODB.Stream")
  
  OBJ_ADO.Type = adTypeBinary
  OBJ_ADO.Open
  OBJ_ADO.Position = 0

  OBJ_ADO.Write OBJ_Http.responseBody
  OBJ_ADO.SaveToFile STR_Path, adSaveCreateNotExist
  OBJ_ADO.Close

  Set OBJ_Http = Nothing
  Set OBJ_ADO  = Nothing


End Sub

Microsoft XML パーサー (MSXML) のバージョン一覧サイトです。

http://support.microsoft.com/kb/269238/ja

Windows XPなどにインストールされているOutlook Expressは、
起動100回毎にメールボックスの自動最適化が行われます。

この動作が原因でメールボックスが壊れることがあるため、
無効にします。

1.  レジストリエディタを起動する。
「ファイル名を指定して実行」に「regedit」と入力し、実行する。

2. レジストリエディタより、以下のキーまで移動する。
HKEY_CURRENT_USER\Identities\【ユーザID】\Software\Microsoft\Outlook Express\5.0

3.  キーを編集する。
右ペインで「Compact Check Count」というキーがあるので、
削除するか、0にすることでリセットすることができます。
このカウントが100になると最適化を実行するメッセージが表示されるのです。

また、普通に使用している以外にも、デスクトップサーチを有効にしていると、
デスクトップサーチが自動的にメールに対してインデックスを作成するので、
自分では100回も開いていないのに、最適化が要求されることがあります。

参考:マイクロソフトのサポート情報
http://support.microsoft.com/kb/971708/ja

PEARのMDB2パッケージ使用例です。プレースホルダを用いています。
ちなみにDBパッケージはメンテナンスが終了しているため、使用が推奨されていません。


error_reporting(E_ALL);
if (error_reporting() > 6143) {

error_reporting(E_ALL & ~E_DEPRECATED);
}

require_once 'MDB2.php';

$dsn = array(
'phptype' => 'mysqli',
'username' => 'db_user',
'password' => 'db_password',
'hostspec' => 'localhost',
'database' => 'testDB',
);

$mdb2 =& MDB2::connect($dsn);

if (PEAR::isError($mdb2)) {

die($mdb2->getMessage());

}

///検索する名前を仮設定
$name = 'aaa';

$sql = "SELECT * FROM sampleTable WHERE name = ? ORDER BY id";

$stmt = $mdb2->prepare($sql, array('text'));
$res = $stmt->execute(array($name));

PHP5.3から新しいエラーレベルが追加されています。

・E_DEPRECATED
・E_USER_DEPRECATED

これらのエラーは推奨されていない関数を使用すると発生します。
詳細は http://php.net/manual/ja/migration53.deprecated.php

PEARなどのライブラリで推奨されない関数が利用されている場合があり、
require_onceなどで読み込んだだけでエラーが表示されてしまいます。

対処方法は、使用している関数を推奨されていないものから変更する。
ライブラリなどの利用していてどうしても関数が変更できない場合はエラーを
表示しないように変更する。

変更方法は大きく二つ。

・php.iniでエラー表示レベルの変更を行う

error_reporting  =  E_ALL
↓
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED

 

・非表示にするコードを書く。

if (error_reporting() > 6143) {
    error_reporting(E_ALL & ~E_DEPRECATED);
}

新しいXAMPPを使いたかったので、最新版(1.77)をダウンロード。
PEARのパッケージが足りなかったので「pear install xxxx」を実行したところ、
ダウンロードは正常にいくが、解凍時に「failed to mkdir」と表示される。

原因は、Windows Vista以降のUAC(User Account Control)が原因と思われる。
UACを無効にしていても、コマンドプロンプトでコマンドを実行する際は、
管理者権限が必要となる模様。

対応方法は、管理者権限でコマンドプロンプトを起動し、コマンドを実行する。

■文字エンコーディングのチェック例

<?php

$temp = isset($_GET['id']) ? $_GET['id'] : '';

    if (! mb_check_encoding($id, 'SHIFT_JIS')) {

        die('文字エンコーディングが正しくありません');

}

?>

 

■文字エンコーディングの変換例

<?php

$id = mb_convert_encoding($id, 'UTF-8', 'SHIFT_JIS');

?>

 

・eregはPHP5.3以降で非推奨となっているため、使用しない。(しかもバイナリセーフではない)
・正規表現には、pregまたはmb_eregを使用する。
・PHP5.3.0以降、POSIX正規表現拡張モジュールは非推奨となったため、PCREを使う。(preg_xxx関数)

文字エンコーディングの検査にはmb_check_encoding関数を利用する。

書式:
bool mb_check_encoding( string $var, string $encoding)

$var → チェック対象の文字列
$string → 比較する文字エンコーディング(省略した場合は、PHPの内部文字エンコーディングとなる)

比較して一致したならば、Trueを返し、一致しない場合はFalseを返す。

・HTML4.01 Transitional DTD URI無し(互換モード)

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>
<html lang=”ja”>

・HTML4.01 Transitional DTD URI有り(標準モード)

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”>
<html lang=”ja”>

・ HTML4.01 Strict DTD URI無し( 標準モード)

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN”>
<html lang=”ja”>

・HTML4.01 Strict DTD URI有り(標準モード)

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN” “http://www.w3.org/TR/html4/strict.dtd”>
<html lang=”ja”>

・HTML4.01 Frameset DTD URI無し

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Frameset//EN”>
<html lang=”ja”>

・HTML4.01 Frameset DTD URI有り

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Frameset//EN” “http://www.w3.org/TR/html4/frameset.dtd”>
<html lang=”ja”>

・XHTML1.0 Transitional DTD

<?xml version=”1.0″ encoding=”utf-8″?>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml” xml:lang=”ja” lang=”ja”>

・XHTML1.0 Strict DTD

<?xml version=”1.0″ encoding=”utf-8″?>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml” xml:lang=”ja” lang=”ja”>

・XHTML1.0 Frameset DTD

<?xml version=”1.0″ encoding=”utf-8″?>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Frameset//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml” xml:lang=”ja” lang=”ja”>

・XHTML1.1 Strict DTD

<?xml version=”1.0″ encoding=”utf-8″?>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.1//EN” “http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml” xml:lang=”ja”>

・HTML5

<!DOCTYPE html>
<html lang=”ja”>