カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

指定したディレクトリ内のファイル一覧を取得する

読み込むファイル名の中には「.」と「..」が含まれるので除外します。

opendirを使う

$rdir = "[読み込むディレクトリ]";

$dh = opendir($rdir);

while (false !== ($filename = readdir($dh))) {

    // ドットで始まるファイルとディレクトリを除外
    if(!preg_match("/^\./", $filename) && !is_dir($filename)) {

        echo $filename."<br>\n";

    }

}

closedir($dh);

scandirを使う

$rdir = "[読み込むディレクトリ]";

$F = scandir($rdir);

foreach($F as $filename) {

    // ドットで始まるファイルとディレクトリを除外
    if(!preg_match("/^\./", $filename) && !is_dir($filename)) {

        echo $filename."<br>\n";

    }

}

globを使う

この場合、「.」「..」は含まれません。

$rdir = "[読み込むディレクトリ]";

foreach (glob($rdir."/*") as $filename) {
    echo $filename."<br>\n";
}
2,830 views

コンピュータの再起動とシャットダウン

コンピュータの再起動とシャットダウンする方法をご紹介します。

コンピュータの再起動

int flag = 0;
flag = ShutdownLibWrap.Reboot;
flag |= ShutdownLibWrap.ForceIfHung;
ShutdownLibWrap.DoExitWindows(flag);

シャットダウンのキャンセル

何か処理を実行しているときに、Windows Update等で勝手にシャットダウンされないようにしたいときに便利です。

フォームのLoadイベントに以下を記述します。

// アプリケーションが閉じられる時のイベントを追加
SystemEvents.SessionEnding += new SessionEndingEventHandler(SystemEvents_SessionEnding);

シャットダウンを検知したらキャンセルします。

private void SystemEvents_SessionEnding(object sender, SessionEndingEventArgs e)
{
    e.Cancel = true;
}
3,797 views

OS起動時にアプリケーションを自動的に実行する

OS起動時にアプリケーションを自動的に実行するには、通常ならスタートアップに登録しますが、
アプリケーションから登録したい場合は、レジストリキーに登録する必要があります。

登録するキーは以下のようになります。

起動時に毎回実行する場合
Software\Microsoft\Windows\CurrentVersion\Run

次回起動時に1度だけ実行する場合
Software\Microsoft\Windows\CurrentVersion\RunOnce

レジストリキーを開きます。
第1引数は設定するキーのパス、第2引数は書き込み可能な状態で開くかどうかを指定します。

Microsoft.Win32.RegistryKey regkey =
    Microsoft.Win32.Registry.CurrentUser.OpenSubKey(
    @"Software\Microsoft\Windows\CurrentVersion\RunOnce", true);

キーに値を設定します。
第1引数はアプリケーション名、第2引数は実行ファイルまでのパスです。

regkey.SetValue(Application.ProductName, Application.ExecutablePath);

キーを閉じます。

regkey.Close();

続きを読む…»

7,887 views

PHPでZip圧縮

PHPでZipArchiveクラスを使い、ファイルをZip圧縮して保存することができます。

PHP5.2.0以降ではデフォルトで使用可能となっているようですが、
明示的に使用するのであれば、コンパイル時に--enable-zipを付加してください。

作成するZipファイル名を指定します。

$zip_file = 'file.zip';

ZipArchiveクラスのインスタンスを生成します。

$zip = new ZipArchive();

ファイルを新規作成、または存在すれば上書きで開きます。

$opened = $zip->open($zip_file, ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE);

ファイルを追加します。

$filename = "example.jpg";
$ret = $zip->addFile($filename);

追加が完了したらZipファイルを閉じます。

$ret = $zip->close();

例)Zip圧縮したファイルをダウンロードさせる

if($ret) {
    header('Content-Type: application/octet-stream'); 
    header('Content-Disposition: attachment; filename="'.$filename.'"'); 
    header('Content-Length: '.filesize($zip_file));
    readfile($zip_file);
}
3,067 views

BarracudaCentralに登録されているか調べる

BarracudaCentralに自サーバーのIPアドレスが登録されているか調べる

Linux/Unix systems:

$ host 2.0.0.127.b.barracudacentral.org

Windows systems:

C:\>nslookup 2.0.0.127.b.barracudacentral.org

ブラックリストに登録されている場合のレスポンス

Linux/Unix systems:

2.0.0.127.b.barracudacentral.org has address 127.0.0.2

Windows systems:

Non-authoritative answer:
Name: 2.0.0.127.b.barracudacentral.org
Address: 127.0.0.2
1,737 views