ホームページ  >  記事  >  バックエンド開発  >  PHP がディレクトリ内の画像をランダムに表示する_PHP チュートリアル

PHP がディレクトリ内の画像をランダムに表示する_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 14:55:26793ブラウズ

はじめに

少し前、Twitter で @doublechou (才能のある女の子、誰もが彼女をフォローしている、ブログ) がテーマに取り組んでいました (現在、彼女は一時的に iNove を使用しています)。当時、彼女は背景画像をランダムに変更する関数を作成したいと考えていました。JavaScript で記述する場合、プログラムの流れは、画像配列を作成する -> 配列内の値の 1 つをランダムに選択する -> スタイルを生成する必要があります。そしてbodyタグに書き込みます。

ただし、JS を使用してそれを行う場合、次のような欠点があります。

1. ブラウザがJSを無効にすると効果がなくなるので、コードを書く際には互換性を考慮する必要があります。

2. 写真の位置が配列に保存されるため、メンテナンスがさらに面倒になります。

そこで、私は PHP を使用して処理することを提案しましたが、彼女も私も PHP の経験が半分しかなく、しばらくは PHP のやり方がわかりませんでした。今日は幸運なことに、ディレクトリ内の画像をランダムに表示する PHP ソース コードを見つけたので、それを勉強して共有します。

本文

まず原理を見てみましょう: ディレクトリから特定の種類のファイルのリストを取得します (通常、WEB で使用する場合は jpg/gif/png) -> ランダム関数を通じて画像を選択します -> を出力します。コード。

PHPコードは以下の通りです:

クリップボードにコピー引用コンテンツ: Liehuo.Net Codes[www.bkjia.com] $imglist=''; //$img_folder 変数を使用して、画像が配置されているディレクトリを「/」で終わる必要があります

mt_srand((double)microtime() )*1000);

//ディレクトリ class を使用します
$imgs = dir($img_folder);

//ディレクトリに画像があるかどうかを確認し、リストを生成します
while ($file = $imgs->read ()) {
if ( eregi("gif", $file) || eregi("jpg", $file) || eregi("png", $file))
$imglist .= "$file ";
} Closedir($imgs- >handle);

//リスト内のすべての項目を配列に入れます
$imglist =explode(" ", $imglist);
$no = sizeof($imglist);

//0から画像の数までの乱数を生成します
$random = mt_rand(0, $no);
$image = $imglist[$random];

//結果を出力します
echo '';
この機能を通じてページの背景を変更したい場合は、最後の文を次のように変更できます:

クリップボードにコピー

引用コンテンツ: [www.bkjia.com] echo ''; Liehuo.Net Codes そしてラベルをプログラム全体に置き換えます。 このプログラムを複数回呼び出す必要がある場合は、関数として記述し、必要に応じて書き換えることができます。

まとめ
PHP を使用してランダムな画像を出力する利点は次のとおりです:
1. メンテナンスが簡単で、ディレクトリ内の画像の数を制御するだけで済みます。
2. ファイルの種類をカスタマイズでき、必要な限り、ランダムにFlashを出力するように変更できます
3. 出力結果をカスタマイズでき、つまりどこでも使用できます
4. 書き換え後それを関数に変換します より強力な関数

転載元:http://blog.imbolo.com/

http://www.bkjia.com/PHPjc/364413.html

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/364413.html技術記事まえがき 少し前、Twitter で @doublechou (才能のある女の子、誰もが彼女をフォローし、ブログを書いています) がテーマに取り組んでいました (現在、彼女は一時的に iNove を使用しています)。彼女は背景画像をランダムに変更する機能を作成したいと考えていました...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。