次のフィールドを持つテーブルを持つMySQLデータベースがあります。
txtProductBowlImage:例 "C:\ BowlPhotos \ Thumbs \ MapleTi07-030tmb.jpg"
そのフィールドのデータを使用して、テキストファイルに印刷できる画像を作成したいと思います。
データを読み取ってから画面にエコーしようとすると...小さなアイコンが表示されますが、画像が表示されません。
コードは次のとおりです。
<?php
$con = mysql_connect("localhost","xxxxxxx","zzzzzzzzzzzzzzz");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("scwdb", $con);
$result = mysql_query("SELECT * FROM tblsplintersbowlinventory WHERE txtVenue = 'Shoreline'");
while($row = mysql_fetch_array($result))
{
echo $row['intProductID'] . " " . $row['txtProductBowlCode'] . " " . $row['txtProductBowlImage'] . "]";
echo "<br />";
echo "<br />";
echo 'txtProductBowlImage: ' . $row['txtProductBowlImage'];
echo "<br />";
$img = $row['txtProductBowlImage'];
echo '...............$img: ' . $img;
echo "<br />";
echo "<img src=" . $img . ">";
echo "<img src='C://BowlPhotos//Thumbs//Ash07-013_btmb.jpg'>";
echo "<img src='Ash07-013_btmb.jpg'>";
echo "<br />";
echo "==================";
echo "<br />";
}
mysql_close($con);
?>
画像を表示しようと3回試みていることに注意してください。1:データベースのURLを使用し、それをechoステートメントに入れると、このURLはデータの「\」区切り文字を使用します。2:実際のテキストパスとファイル名のサンプルをechoステートメントに埋め込むこのURLは、URLに「/」区切り文字を使用します。3:echoステートメントにファイル名のみを埋め込み、パスは埋め込みません
これを実行すると、次の出力が得られます。
エコー#1と#2はアイコンを生成し、エコー#3はphpと同じフォルダーにある画像のローカルコピーを表示します。
このことから、「\」または「/」セパレーターのいずれかで使用されていないのはパスであるように見えます。
'\'はエスケープと見なされる可能性があると思いますが、'/'のURLが機能しないのはなぜですか?