0

私は 2 人のクラスメートと一緒に学校のプロジェクトに取り組んでいます。私たちの仕事は、Web 用の動的なギャラリーを作成することです。
それで、クロムがそれについて非常に奇妙な振る舞いをしていることを除いて、ギャラリー全体を完璧に稼働させました.
写真とサムネイルを BLOB にアップロードしました。php を介してデータベースからそれらをロードします。

<div id="content_right">
<?php
if(isset($_GET['c'])) {
$c = $_GET['c'];
$thumbs_sql = mysql_query("SELECT foto_id
     FROM `fotos`
     INNER JOIN foto_cat ON fotos.foto_cat = foto_cat.cat_id
     WHERE fotos.foto_cat = $c");
}
else{
$thumbs_sql = mysql_query("SELECT foto_id 
     FROM fotos 
     INNER JOIN foto_cat ON fotos.foto_cat = foto_cat.cat_id
     ORDER BY RAND() LIMIT 8");
}
while($getthumbs = mysql_fetch_array($thumbs_sql))
{
 $thumb_id = $getthumbs["foto_id"];
 $picsource = 'inc/thumbnails.php?thumb='.$thumb_id;
 $thumb .= '<div class="ikon">
 <img alt="'.$thumb_id.'" src="'.$picsource.'" value="inc/picture.php?pic='.$thumb_id.'" />
</div>';
}
echo $thumb;
?>
</div>

問題は、クロム以外のブラウザで完璧に動作することです。問題は、ブラウザー (またはサーバー) がファイル ソース (img タグ用) に非常に奇妙なエンティティを追加しているように見えることです。ソースをエコーアウトしても、ページソースに表示することはできません。クロム開発者ツールを介してのみ表示され、正方形として表示されます (不明なエンティティ?)。「inc/」の直後に配置されます。

代替テキスト(クロム開発者ツールの問題の写真の例。)

これは奇妙に思えるだけでなく、ローカルホスト (wamp/mamp/xampp など) を使用する場合、Chrome で完全に機能します。同様に、URL バーまたはソースにハードコードされている場合でも、画像をダウンロード/表示できます。
それを文字列に変換し、php を介してスラッシュを追加し、enctype を設定し、その他考えられるすべてのことを試みました。
これは、サーバー側の問題であるに違いないと私たちに信じさせますか? 私たちは間違っていますか?
そうでない場合、コーディングによる回避策はありますか?

ギャラリーはhttp://46246.rtsphp.dk/gallery/index.phpにあります。
どういうわけかこれ以上のファイルが必要な場合はお知らせください。私たち自身は無知なので、どんな助けも大歓迎です:S

~Esben Tind (gmail ドットコムの esbentind)

4

2 に答える 2

3

これはサーバー側の問題です。サムネイル .php スクリプトは、次のヘッダーを送信しています。

Content-Disposition: 添付; ファイル名=nytaar1.jpg

これにより、ブラウザはファイルをダウンロードしようとします。サムネイルでそれを検索して削除することをお勧めします。

于 2010-10-12T15:49:00.077 に答える
0

htmlspecialchars()次のように、関数を使用して、HTML で使用するすべての値を HTML エンコードする必要があります。

<img alt="'.htmlspecialchars($thumb_id).'" src="'.htmlspecialchars($picsource).'" value="inc/picture.php?pic='.htmlspecialchars($thumb_id).'" />

そうしないと、何らかの理由で値に & 文字または類似の文字が含まれている場合、無効な HTML が生成され、出力が未定義になります。ブラウザーによっては、ユーザーの意図を正しく推測するものもあれば、推測を誤ったり、単に HTML のレンダリングを拒否したりするものもあります。

于 2010-10-12T15:51:13.660 に答える