ホームページ >バックエンド開発 >PHPチュートリアル >PHPで検証コードを作成する場合、パラメータの役割は何ですか?
PHP 検証コード $_POST[]
for($i=0;$i<$num;$i++){ $x=rand(1,8)+$imagewidth*$i/4; $y=rand(1,$imageheight/4); $font = ImageColorAllocate($im, rand(100,255),rand(0,100),rand(100,255)); // 生成随机颜色 $authnum=rand(1,9); $vcodes.=$authnum; imagestring($im, 15, $x, $y, $authnum, $font); }
最初の質問 $num=2 を使用してみてはいかがですか?
$x の計算方法では 4 つの数字しか表示されません
2 番目の質問質問: 文字か整数かわかりませんが、文字としても整数としても使えるのが PHP の魅力です
2 番目の文字列
もう一度見てください:
最初の質問です。$num=2 を使用してみてはいかがですか?
$x の計算方法では 4 つの数字しか表示されません
2 番目の質問: 私もです。それが文字なのか整数なのかはわかりませんが、文字としても整数としても使用できるのが PHP の魅力です
$num<4 を変更した後に変更が発生しました。 、しかし、$x 制限の詳細を教えていただけますか?
書き順を調整するとわかりやすくなります
$x = $imagewidth / 4 * $i + rand(1,8);
ここで:
$imagewidth / 4 キャンバスの幅を 4 つのポイントに分割します
$imagewidth / 4 * $i キャンバス上の $i 番目の文字の開始位置
rand(1,8) 開始位置を数ポイントオフセット
文字数が 4 文字を超える場合、制限はありませんが、計算された位置はキャンバスの外になります。描画はダメ
書き順を調整すればスッキリ
$x = $imagewidth / 4 * $i + rand(1,8) );
その中には:
$imagewidth / 4 キャンバスの幅を 4 つのポイントに分割します
$imagewidth / 4 * $i キャンバス上の $i 番目の文字の開始位置
rand(1,8)開始位置をオフセット方向に数ポイント移動します
文字数が4を超える場合、制限はありませんが、計算された位置はキャンバスの外になります。全て無駄です
少しは理解できたような気がしますが、お聞きしたいのですが、生成されたランダムコードに文字や数字を含めたい場合は、どのように書き換えればよいのでしょうか?
アドバイスをいただければ幸いです
$x=rand(1,8)+$imagewidth*$i/4;
書き順を調整するとわかりやすくなります
$x = $imagewidth / 4 * $ i + rand(1, 8);
その中には:
$imagewidth / 4 キャンバスの幅を 4 つのポイントに分割します
$imagewidth / 4 * $i キャンバス上の $i 番目の文字の開始位置
rand (1,8) 開始位置を に移動させます。 オフセット点がいくつかあります
文字数が 4 文字を超える場合、制限はありませんが、計算された位置はキャンバスの外になります。全て無駄です
少しは理解できたような気がしますが、お聞きしたいのですが、生成されたランダムコードに文字や数字を含めたい場合は、どのように書き換えればよいのでしょうか?
アドバイスをいただければ幸いです
真剣に、上記をすでに理解しているのであれば、imagestring のいくつかのパラメータを見るだけでこの問題を理解できるはずです
imagestring() の 5 番目のパラメータは、何を書き込むかを指定することです
最初に $str = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" を思いつきます
それから毎回ランダムに単語を取り出してください
そうですか
最初の質問は、まだ 4 つの数字ですか? $x の計算方法は、4 つの数字しか表示できないことを意味します
2 番目の質問は、文字か整数かわかりません。専門家の回答を楽しみにしていますが、文字または整数として使用できます。これが PHP の魅力です
世界中の人々を代表して感謝したいと思います。 。 。 、すぐにポイントを付与! !