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

ファイルのダウンロード

System.Net.WebClientクラスを使用してファイルをダウンロードします

//参照を追加
using System.Net;

・単純なダウンロード

public static void getFile(string uri, string filename)
{
    WebClient wc = new WebClient();
    wc.DownloadFile(uri, filename);
    wc.Dispose();
}

・バイト配列でダウンロード

public static byte[] getFile(string uri)
{
    byte[] data;

    //WebClientの作成
    WebClient wc = new WebClient();
    //ファイルをダウンロードする
    try
    {
        data = wc.DownloadData(uri);

        //後始末
        wc.Dispose();

        if (data.Length < 2500)
        {
            return null;
        }
    }
    catch
    {
        data = null;
    }

    return data;
}

・バイト配列から書き込み保存

public static void SaveFile(byte[] data, string filename)
{
    FileStream fsTo = new FileStream(filename, FileMode.Create, FileAccess.Write);

    fsTo.Write(data, 0, data.Length);

    fsTo.Close();
}
1,717 views

指定した幅で文字列を丸める mb_strimwidth

string mb_strimwidth ( string $str, int $start, int $width [, string $trimmarker [, string $encoding]] )

str
 入力文字列
start
 開始位置(先頭はゼロ)
width
 幅
trimmarker
 丸められた文字列に追加する文字列
encoding
 文字エンコーディング(省略された場合は内部エンコーディングが使用される)

例)
$string = "文字列処理のテストです。";

echo mb_strimwidth($string, 0, 10, "...", "SJIS");

結果
文字列…
1,220 views

文字列を処理し、変数に代入する parse_str

void parse_str ( string $str [, array &$arr] )

str
 入力文字列
arr
 この引数を指定した場合、配列としてここで指定した変数に保存される

例)

$query_string = "last_name=%8ER%93c&first_name=%91%BE%98Y";

parse_str($query_string, $array);
結果
array(2) {
["last_name"]=>
string(4) "山田"
["first_name"]=>
string(4) "太郎"
}

※extractとの違い
parse_strはクエリ文字列を解析しスカラー変数(または配列変数)にセットする関数、extractは配列をスカラー変数にセットする関数である。

1,601 views

クエリ文字列を生成 http_build_query

string http_build_query ( array $formdata [, string $numeric_prefix [, string $arg_separator]] )

formdata
 配列、もしくはオブジェクト
numeric_prefix
 インデックスが数値の場合、指定したパラメーターがインデックスの前に追加される
arg_separator
 &などのセパレータを指定(指定しない場合はarg_separator.outputの値が使用される)

例1)

$DATA["last_name"] = "山田";
$DATA["first_name"] = "太郎";

$query_string = http_build_query($DATA, null, "&");

echo $query_string;

結果

last_name=%8ER%93c&first_name=%91%BE%98Y

例2)

$DATA[0] = "山田";
$DATA[1] = "太郎";

$query_string = http_build_query($DATA, "st", "&");

echo $query_string;

結果

st0=%8ER%93c&st1=%91%BE%98Y
1,858 views

ネットワーク関連[/etc/resolv.conf]

DNSを記録するファイル

※windowsでいう優先DNSサーバー・代替DNSサーバーです。

[resolv.conf]
nameserver=000.000.000.000
nameserver=000.000.000.000

1,886 views