0

ローカルに10枚の写真をアップロードしたPHPサイトがあります。写真はフォルダに保存され、./imagesフォルダにリサンプリングされ./thumbnailsます。このクエリを使用して、データベースから7つの写真ファイル名を抽出します。

$imgQuery = "SELECT FileName, Title, Description FROM PICTURE WHERE OwnerID='$id' LIMIT 0,7";

データベースはPictureID、(PK)、OwnerID(UNQ、私のIDは2)、FileName(ファイル名を保存)、およびTitle画像と画像を保存しますDescription。この方法を使用して、7つの写真のファイル名、タイトル、説明を配列に転送します。しかし、どうすれば./thumbnailsフォルダーからそれらを抽出してPHPページに表示できますか?

if($imgResult = mysqli_query($link, $imgQuery))
{
 while($imgRow = mysqli_fetch_row($imgResult))
 {

    $filename[] = $imgRow[0];
    $title[] = $imgRow[1];
    $description[] = $imgRow[2];
 }
}

これが私がt1本文にサムネイルを表示しているところです。データベースによって取得されたファイルをこれらの変数に割り当てる方法を知りたいです。説明は、名前iに基づいて変わります

$num = count($filename);
while($i < $num)
{
$i = 0;
print <<<photo
<body>
<form action='MyAlbum.php' method='post'>
    <table>
        <tr><td colspan='7' ><h2 align='center'><?php echo $name;?>'s Album</h2></td>
        </tr>
        <tr><td colspan='7' ><?php echo $title[$i];?></td>
        </tr>
        <tr><td colspan='5' ><?php echo $filename[$i]; ?></td><td colspan='2'><?php echo $description[$i];?> </td>
        </tr>
        <tr>
            <td><?php  echo $filename[0];?></td> <td><?php  echo $filename[1];?></td> <td><?php echo $filename[2];?></td> 
            <td><?php echo $filename[3]; ?></td><td><?php echo $filename[4]; ?></td> <td><?php echo $filename[5]; ?></td> 
            <td><?php echo $filename[6]; ?></td> 
        </tr>
    </table>
</form>
$i++;
</body>
</html>

photo;
 }
4

2 に答える 2

0

あなたができる

<img src="<?php echo $filePath;?>" alt="some_text">

$ filePathの変数が、フォルダー内の実際の画像へのURLであることを確認してください。

于 2012-11-06T21:37:09.657 に答える
0

それはすべてあなたが言わない2つのことに依存します:フル解像度で「FileName」に保存されるファイル名、その中にどのような名前が割り当てられていthumbnailsますか?またFileName、フルパスが含まれていますか、それとも「ベア」ファイル名のみが含まれていますか?

// If
// FileName = "/images/LenaSjooblom.jpg", thumbnail is "./thumbnails/LenaSjooblom.jpg"
// Then
$Thumbnail = './thumbnails/' . basename($FileName);

// If
// FileName = "LenaSjooblom.jpg", thumbnail is "./thumbnails/LenaSjooblom.jpg"
// Then
$Thumbnail = './thumbnails/' . $FileName;

// If
// FileName = "/images/LenaSjooblom.jpg", thumbnail is "./thumbnails/12.jpg"
// Then
$Thumbnail = './thumbnails/' . $PictureID . '.jpg';

上記のコードを同じループに入れます。例:

$filename[] = $imgRow[0];
$title[] = $imgRow[1];
$description[] = $imgRow[2];

// ADDED THUMBNAIL - hypothesis 1
$thumbnail[] = "./thumbnails/".basename($imgRow[0]);

と表示することができます

<img src="$thumbnail[$i]" />

アップデート

サムネイルがファイル名と重複している場合は、他に何も必要ありません。HTMLを変更して、次を追加するだけです。

<img src="./thumbnails/$filename[$i]" />

また、画像と同じ名前のファイル名をサムネイルディレクトリから取得するようにブラウザに指示します。(最初は機能しない場合は、パスを確認します。ピンチでは、 " /thumbnails/$filename[$i]"などの絶対パスを使用します)。

于 2012-11-06T21:40:52.220 に答える