カテゴリー
開発環境

docker開発環境

docker開発環境。phpとSQLiteが使える。

docker container run --name php001 -d -p 8081:80 -v D:\新しいフォルダー\j3-2023\dist:/var/www/html php:8.2.8-apache

コマンドプロンプトで打ち込むこと。

php001のところは、任意の名前。
8081のところは、ポート番号なので、8082,8083と変えること。
D:\新しいフォルダー\j3-2023\distのところは、メインファイルを置くフォルダーなので、その時によって変えること。
php:8.2.8-apacheのところは、phpの最新バージョンを調べてインストールすること。

ブラウザのURL欄にlocalhost:8081と打ち込むとページが出力する。

Internal Server Errorのエラーの問題が出た時、.htaccessをメインファイルを置くフォルダーに置いていたのが原因でした。.htaccessの名前の変更をしたら、エラーが解決しました。

dockerインストール時のエラーについて、下記リンク先をみること。

https://www.asus.com/jp/support/FAQ/1045141/

カテゴリー
ホームページ製作

phpで日付によって重複しない要素を並べる

phpで日付によって重複しない要素(数字、文字)を並べる方法。
shuffle関数だと、毎回ランダムに並べられるから断念。

【参考サイト】
https://on-ze.com/archives/460

今回は7つの文字から3つを選ぶ。


$args = array('a','b','c','d','e','f','g');

//配列の個数を数える
$count_args = count($args);

//日付を得る
$seed = date("Ymd");

//日付によって乱数を初期化
mt_srand($seed);

//空配列を作る
$temp = array();
$copy_args = array();

//$argsの配列の中から3つ選び、$copy_argsの配列にコピーする
for ( $j = 0 ; $j < 3 ; $j++ ){
	//初期化済みの乱数で配列の数値を一つ選ぶ。但し、配列は0から始まるので個数を-1する
	$num_args = mt_rand( 0, $count_args-1 );   

	//得た数値の配列を$tempへコピーし、削除する
	$temp = array_splice( $args, $num_args, 1 );

	//$tempの配列を$copy_argsの配列の最後尾に追加
	$copy_args = array_merge( $copy_args, $temp );

	//配列の数値を一つ減らす
	$count_args--;
}

//選ばれた配列$copy_argsを表示
<p><?php var_dump($copy_args); ?></p>

これで、その日のラッキーナンバーとか作れるな。