0

画像の幅と高さをループ配列にエコーしようとしています。幅と高さ以外はすべてそこにあるようです。画像は私が持っているカルーセルに表示されます。カルーセルが適切に機能するには、画像の幅と高さが必要です。手動で値を入力して画像を歪ませたくありません!!

これが私のコードのスニペットです。

 <?php do {
 $image = $_SERVER['DOCUMENT_ROOT'].$row_rs_imgpath['userimagespath'].$row_rs_smimg['thumbfile'];
 $x= imagesx($image);
 $y = imagesy($image);

 ?>


    <img src="<?php echo $row_rs_imgpath['userimagespath'].$row_rs_smimg['thumbfile']; ?>" alt="<?php echo $row_rs_smimg['imgname']; ?>" width="<?php echo $x;?>" height="<?php echo $y;?>" />


 <?php } while ($row_rs_smimg = mysql_fetch_assoc($rs_smimg)); ?>

ページのソース コードを表示すると、次のようになります。

<img src="/images/uploads/my-future-car-1358783315_thumb.jpg"width="" height="" />
<img src="/images/uploads/albert_docks_liverpool-1358872736_thumb.jpg" width="" height="" />

私も試してみました

list($width, $height)= getimagesize($image);

しかし、それもうまくいきません。どんなアイデアでも大歓迎です!

4

4 に答える 4

1

getimagesize()を使用するときに、ファイルへのフル パスを使用しようとしましたか? 画像が見つからない場合は機能しません。

于 2013-01-22T19:05:14.907 に答える
1

あなたの現在$imageは文字列です。使用しようとしている関数は、GD ライブラリのリソースで使用するためのものです。

寸法だけが必要な場合の簡単な方法は、GD ライブラリをまったく使用しないことです (これはやり過ぎです)。を使用することをお勧めしgetimagesizeます。http://php.net/manual/en/function.getimagesize.php

$size = getimagesize($filename);
echo $size[0]; //width
echo $size[1]; //height
于 2013-01-22T19:09:24.567 に答える
0

Image オブジェクトから画像サイズを取得します。

$source = imagecreatefrompng(...);
$width = imagesx($source);
$height = imagesy($source);

imagesxand function の場合imagesy、実行しているような文字列ではなく、リソースを渡す必要があります。

パスから画像サイズを取得:

$size= getimagesize('sample-image.jpg');
$width = $gis[1];
$height = $gis[1];

または

list($width, $height) = getimagesize($filename)
于 2013-01-22T19:11:45.280 に答える
0

imagesximagesyファイル名ではなく、画像リソースで作業します。そのコード行はgetimagesize正しいものですが、画像をアドレス指定する方法は、ファイル システムではなく、ブラウザーでのみ機能します。

/images/image.gifブラウザで機能しますが、関数が正しいファイルを見つけるには、相対パス ( ../../images/image.gif) またはファイル システム固有のパス ( /users/joe/www/images/image.gif) が必要です。getimagesize

于 2013-01-22T19:05:27.833 に答える