-1

申し訳ありませんが、これはローカライズされないように修正した悪い質問でした。質問を実際の原因に絞り込むことを学びました。誰かが質問に賛成票を投じて、スタックでもう一度質問できるようになれば、とても感謝しています。

この行からエラーが発生し続けます。

        $file = $files[ rand( 0, count( $files ) ) ];

タイムゾーン未定義、未設定の配列または定義済みの関数をスローします。

注意: 未定義のオフセット: 15行 目 adserve.phpの/home/public_html/adserve.phpの 5

共有ホスティングのため、php.ini ファイルにアクセスできません。

4

3 に答える 3

4

ランダムエラーはありません。最初のものは、それを修正するために何をする必要があるかをほとんど教えてくれます。

2番目のコードでは、コードの15行目が次の場合です。

$file = $files[ rand( 0, count( $files ) ) ];

次に、未定義のオフセットの問題は、使用しているようなゼロインデックス配列の最大インデックス値がになるという事実にありますcount - 1

したがって、あなたのラインは

$file = $files[ rand( 0, count( $files ) - 1 ) ];
于 2012-10-24T00:42:48.667 に答える
3

$files表示されるエラーは、存在しない配列のインデックス (この場合は5. これは、要素数が 5 の場合に発生します。これは、インデックスが 0 から 4 に変化することを意味します。

最小値と最大値を指定すると包括的であるPHP のを使用しているため、最大値としてrand()使用する必要があります。count($files) - 1

$file = $files[ rand( 0, (count( $files ) - 1)) ];
于 2012-10-24T00:42:20.530 に答える
1

タイムゾーン設定エラーの場合は、php.iniを編集してdate.timezone設定を変更する必要があります。

  date.timezone = 'America/Chicago'

「未定義のオフセット」という通知については、その配列値が実際に存在するかどうかを確認する必要があります。

  if (!empty($files[ rand( 0, count( $files ) ) ]))
         $file = $files[ rand( 0, count( $files ) ) ];
于 2012-10-24T00:44:34.380 に答える