2

ここで見つけた PHP を再利用しようとしていますが、PHP の経験があまりなく、行き詰まりました。

カメラから画像をアップロードするとき、スクロールせずに画面に収まるようにしながら、最新の 4 つの画像をできるだけ大きく表示できるようにしたいと考えています。2 幅、2 高さ: フルスクリーン解像度を 4 つの象限に分割します。最初の PHP は (ループ内の各画像の後にブレークを追加することによって) それらを列に出力しますが、現在は横方向にも出力しています。ただし、それらは小さすぎて、遠くから合理的に見ることはできません。2 つ印刷して改行を作成し、最後の 2 つを印刷する方法がわかりません。または、テーブルでそれを行う方法があり、それぞれに1つの画像がある場合td

これが私が今いる場所です:

<?php

$images = glob('images/*.{jpg,jpeg}', GLOB_BRACE); //formats to look for

$num_of_files = 4; //number of images to display

foreach($images as $image)
{
     $num_of_files--;

     if($num_of_files > -1) 
       echo "<img src="."'".$image."'".">"; 
     else
       break;
}
?>

z-index を追加するためにいくつかの CSS を使用していますが、これが基本的なコードです。

4

3 に答える 3

1

2を印刷してから改行してから2を使用できます

  foreach($images as $image) {
     $num_of_files--;

     if($num_of_files > -1){
       echo '<img src="' . $image . '" id="png' . $num_of_files . '" width="50%">';
       if($num_of_files % 2 == 0)
         echo "<br />";
     }
     else
       break; 
  }

そして、グロブのソートに関するこのSOの投稿 glob() - sort by dateを参照してください

于 2012-11-26T16:18:34.533 に答える
0

私はあなたのコードをクリーンアップして、より一般的なものにしようとしました:

<?php

$images = glob('images/*.{jpg,jpeg}', GLOB_BRACE); //formats to look for
$images_printed = 0;
$images_per_row = 2;

foreach($images as $image) {
   echo "<img src="."'".$image."'".">";
   $images_printed++;
   if ($images_printed % $images_per_row == 0) {
      echo "<br/>";
   }
}

?>コード ファイルの末尾をオフにすると、空白文字が誤って含まれるのを防ぐことができます。そうしないと、書式設定が崩れる可能性があります。

于 2012-11-26T16:25:01.600 に答える
0

css を追加します。

img {
    border: 0px;
    margin: 0px;
    display: inline;
    width: 50%;
}

良いスタートになるでしょう。

于 2012-11-26T16:00:32.493 に答える