2019年9月23日月曜日

ランダム文字列でパスワード生成

こんばんは、こうちゃんです。

以前紹介しました文字列操作関数の、
substr と str_shuffle を用いて、
ある程度ランダム性のあるパスワードを生成するプログラムです。

echo substr(str_shuffle('1234567890abcdefghijklmnopqrstuvwxyz'), 0, $length);

このようにすると、$lengthに数字を送ると、その文字数のランダム文字列が出力されます。
この場合、この文字列の順番を変えるだけですので、
同じ文字は1度まで、最大でも36文字の文字列になります。
仮にパスワードとして使うと、脆弱過ぎるので、
簡易的なパスワードに用いる場合などに。

もう少し複雑にしたい場合、
str_shuffle の対象文字列を、
1234567890abcdefghijklmnopqrstuvwxyz の後ろに A~Z の大文字アルファベット26文字も入れれば、大文字も入り、少し複雑になります。
同じように、!"#$%&'()=- とかも入れれば記号も入り複雑になります。

こうちゃん

2019年9月15日日曜日

文字列をランダムにシャッフルstr_shuffle

こんばんは、こうちゃんです。

文字列の文字をランダムに替える関数、str_shuffleです。
そんなに用途はないですが、パスワード生成の際にランダム文字列を作る際などに使われるかと。

str_shuffle ( string $str ) : string
str_shuffle() は文字列をシャッフルします。 考えられるすべての順列のうちのひとつを作成します。

使用例:
<?php
$str = 'abcdef';
$shuffled = str_shuffle($str);

// bfdaec のような文字列を返します
echo $shuffled;
?>

こうちゃん

2019年9月4日水曜日

文字列の一部分を返すsubstr

こんばんは、こうちゃんです。

文字列操作の関数の内、
指定文字列の一部を切り取るのに便利な関数、substrです。

利用法は、
公式
https://www.php.net/manual/ja/function.substr.php
より

substr ( string $string , int $start [, int $length ] ) : string
文字列 string の、start で指定された位置から length バイト分の文字列を返します。

string
入力文字列。最低 1 文字以上を指定しなければなりません。

start
start が正の場合、返される文字列は、 string の 0 から数えて start番目から始まる文字列となります。 例えば、文字列'abcdef'において位置 0にある文字は、'a'であり、 位置2には'c'があります。

start が負の場合、返される文字列は、 stringの後ろから数えて start番目から始まる文字列となります。

string の長さが start 文字より短い場合は FALSE が返されます。


例:
<?php
$rest = substr("abcdef", -1);    // "f" を返す
$rest = substr("abcdef", -2);    // "ef" を返す
$rest = substr("abcdef", -3, 1); // "d" を返す

$rest = substr("abcdef", 0, -1);  // "abcde" を返す
$rest = substr("abcdef", 2, -1);  // "cde" を返す
$rest = substr("abcdef", 4, -4);  // false を返す
$rest = substr("abcdef", -3, -1); // "de" を返す
?>

こうちゃん

2019年8月22日木曜日

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

mb_strimwidth

対象文字列を指定バイト数で切って、末尾に指定文字をつなぎ、丸める関数です。


使い方

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

str
丸めたい文字列。

start
開始位置のオフセット。文字列の始めからの文字数 (最初の文字は 0) です。

width
丸める幅。

trimmarker
丸めた後にその文字列の最後に追加される文字列。

encoding
encoding パラメータには文字エンコーディングを指定します。省略した場合は、内部文字エンコーディングを使用します。


返り値
丸められた文字列を返します。 trimmarker が設定された場合、 trimmarker が丸められた文字列に追加されます。


例:
echo mb_strimwidth("Hello World", 0, 10, "...";
// Hello W... と出力します
?>

2019年8月15日木曜日

PHP開発時の環境設定(サーバー編1)

先日から、PHP自体の説明や、
関数のリファレンスを紹介していますが、
これらをテストするやり方も必要でしょうし、
また、覚えるためには実際に自分で作って、動かしてみるのが重要かと。

ただし、
HTMLだけの文書は、テキストエディタ等で作成・保存し、
InternetExplorer等のブラウザで開けば、
ちゃんとHTMLタグを解釈して表示してくれますが、

このPHPという言語に関しては、

サーバーサイドスクリプト

という、Webサーバ内で、言語の処理内容を受け取り、
結果をブラウザに返す、
という言語であるため、
サーバーの無い状態では動きません。

仮に自分のPCで開発、結果を確認したい場合、

自分のPCの中にWebサーバーを立てるか、
PHPを動かせます、とされている、レンタルサーバーを借りるかしないといけません。

ざっくりと言えば、

PHP開発は、書くだけは自分のPCでもメモ帳で書けるが、
実際に動かすにはサーバーが必要

ということになります。



次回はこの、それぞれのPHPを動かす手法を少し解説しようかと思います。

2019年8月5日月曜日

続・PHPのバージョン情報

こんばんは、
燃えPaPaです。

先日の記事で、
PHPのバージョン情報取得の、

phpversion()

の紹介をしましたが、
同様に、

定義済みの定数 PHP_VERSION

でも取得可能です。
使い方的にはまったく同様です。

なお、
その他のバージョン関連の情報は、定数 PHP_VERSION_* で取得可能です。




燃えPaPa

2019年7月25日木曜日

PHPのバージョン情報

こんばんは、
燃えPaPaです。

今回は、
シンプルだけど、必要になることも多い、

PHPのバージョン確認方法です。

自分で環境を構築したのなら間違いないですが、
レンタルサーバー等で、どのような環境かわからない場合、
特に、無料レンサバなどでは、
PHPが動きます、とだけ書いてあって、
PHPの何系バージョンかすら書いてないこともよくあります。
そんな際に役立つのが、シンプルにバージョン情報だけを取得してくれる、

phpversion()

純粋にバージョン情報のみが取得できます。
以前に紹介しました、phpinfo()の方が様々な情報を取得できますが、
単純にバージョンが知りたく、かつ簡潔に表示したい場合こちらが便利です。

なお、

引数で、拡張モジュール名を入れると、そのモジュールのバージョン番号を取得できます。


燃えPaPa