BBS




7件の内、新着の記事から10件ずつ表示します。


[8] (無題)

投稿者: mpyw 投稿日:2014年10月31日(金)08時35分8秒 softbank219209194119.bbtec.net  通報   返信・引用

>> このスクリプトに、widthの指定をする場合は、どこに記述すればよいでしょうか?

全部の画像で一意だったら直接IMGタグのところに書けばいいです。画像ごとに違うんだったらちょっと工夫する必要がありますが

>> また、ファイル名を変更する場合は、「$range = range(0,9);」の部位を修正すれば良いですよね?
>> 「a000,a999」のような、英数字の入った数字にも対応できますでしょうか?

規則的でなければ

$range = array('a000', 'a999');

のように array() で全パターン指定してください。ちなみに最初の range(0, 9) は

$range = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9);

と同じ意味です。

http://php.net/manual/ja/function.range.php

http://twitter.com/mpyw




[7] mpyw様

投稿者: MM 投稿日:2014年10月31日(金)03時17分35秒 pw126253011213.6.panda-world.ne.jp  通報   返信・引用

スクリプトが動きました!!
感動しました。半年間、実現できずに困っていました。
たしかに、言われてみたらスクリプトが削除されていますね!
動作実験のため2日ほどいただきますが、その後、すぐにBAさせていただきます。
迷惑ついでに、最後に、これだけ質問させてください。
このスクリプトに、widthの指定をする場合は、どこに記述すればよいでしょうか?
また、ファイル名を変更する場合は、「$range = range(0,9);」の部位を修正すれば良いですよね?
「a000,a999」のような、英数字の入った数字にも対応できますでしょうか?



[6] (無題)

投稿者: mpyw 投稿日:2014年10月30日(木)22時15分31秒 softbank219209194119.bbtec.net  通報   返信・引用

printf関数の第1引数に渡している文字列が空になってませんか?私のコードだけじゃなくてMMさんが投稿されたコードもそのように書き換えられてしまっていると思います…

まぁ、daily_array_rand関数の定義には関係ないことなので使い方さえ理解していただければ問題ないです。printf関数を用いてHTMLタグを出しているのはあくまで一例です。重要なのはdaily_array_rand関数の

"配列から指定個数の要素のキーを(1日の指定時間更新で)ランダムに取り出す"

という動作です。daily_array_rand関数がよく分からなければまずは標準実装されているarray_rand関数の使い方から見たほうがいいと思います。

PHP Manual - array_rand
http://php.net/manual/ja/function.array-rand.php

この関数に第3引数 $at を加え、(1日の指定時間更新で)選考結果を固定するようにしたものが今回私が作成したdaily_array_rand関数です。あとはこの結果を煮るなり焼くなりお好きにどうぞ…というところです。コピペするのは

function daily_array_rand() {
...
}

の部分だけで、これをどう使うかはMMさんに任せます…

※ もしprintf関数のフォーマットがよく分からなければこちらもマニュアルを見れば載っています。また、この関数を使わなくても普通にechoやprintを使って出力することも出来ます。個人的にprintfを使ったほうが見やすそうなので採用させていただいたまでです。

PHP Manual - printf
http://php.net/manual/ja/function.printf.php

http://twitter.com/mpyw



[5] mpyw様

投稿者: MM 投稿日:2014年10月30日(木)19時30分9秒 pw126253011213.6.panda-world.ne.jp  通報   返信・引用

htmlタグが消されている?とのことですが、そうしますと、ご教示いただいたphpスクリプトでは作動しないということでしょうか?



[4] (無題)

投稿者: mpyw 投稿日:2014年10月30日(木)18時46分33秒 softbank219209194119.bbtec.net  通報   返信・引用

あれ、HTMLタグ部分消されてる…teacupの仕様ですか…

http://twitter.com/mpyw



[3] (無題)

投稿者: mpyw 投稿日:2014年10月30日(木)18時45分16秒 softbank219209194119.bbtec.net  通報   返信・引用

こうですね。関数を定義して呼び出しているだけです。

<?php

function daily_array_rand(array $array, $num = 1, $at = '00:00') {
    $timezone = new DateTimeZone('Asia/Tokyo');
    $interval = new DateInterval((new DateTime($at, $timezone))->format('\P\TH\Hi\Ms\S'));
    $datetime = new DateTime('now', $timezone);
    srand($datetime->sub($interval)->format('Ymd'));
    $retval = array_rand($array, $num);
    srand();
    return $retval;
}

$range = range(0, 9);
printf('', $range[daily_array_rand($range, 1, '07:00')]);

http://twitter.com/mpyw



[2] (無題)

投稿者: mm 投稿日:2014年10月30日(木)18時35分36秒 pw126253011213.6.panda-world.ne.jp  通報   返信・引用

すばやい対応をありがとうございます!!
動作が確認できしだい、BAにさせていただきます。

確認してもいいですか?
指定がpngだったので、こちらでjpgに直したのですが、
まとめると

<?php

function daily_array_rand(array $array, $num = 1, $at = '00:00') {
    $timezone = new DateTimeZone('Asia/Tokyo');
    $interval = new DateInterval((new DateTime($at, $timezone))->format('\P\TH\Hi\Ms\S'));
    $datetime = new DateTime('now', $timezone);
    srand($datetime->sub($interval)->format('Ymd'));
    $retval = array_rand($array, $num);
    srand();
    return $retval;
$range = range(0, 9);
printf('', $range[daily_array_rand($range, 1, '07:00')]);
}

?>

で、合ってますでしょうか?
これをテキストエディタに入力して、
拡張子を.phpにしたwebデータを、
0~9番のjpgデータと一緒に同一フォルダの中に入れましたが、
うまく作動しなかったので・・・


レンタル掲示板
7件の内、新着の記事から10件ずつ表示します。

お知らせ · よくある質問(FAQ) · お問合せ窓口 · teacup.レンタル掲示板

© GMO Media, Inc.