勉強の為に簡単なECサイトを作ってます。
データは全てデータベースに格納されていて、データベースから持ってきたいと思っています。
写真のデータベースへの格納の仕方は、写真自体を格納する方法と、パスを格納する方法と2つあると思いますが、今回はパスを格納し、パスを持ってきて格納されてる場所にアクセスし、写真を表示させたいと思っています。
以下のソースで、きちんとDBにアクセスできて、パスも持ってきていているのですが、写真が表示されません。
どうしたらいいでしょうか。
php
1<?php 2//img_get.php// 3session_start(); 4ini_set("display_errors","on"); 5error_reporting(E_ALL | E_STRICT); 6ini_set("include_path","./includes"); 7include("dbinfo.inc"); 8// DB接続 9$dbLink = mysqli_connect($host, $user, $passwd, $dbname) or die ("Can't connect"); 10 if (!$dbLink){ 11 echo "connect failed"; 12 } 13 14// Get img 15$sql = "SELECT catalog_id , path FROM product_img WHERE catalog_id = " . $_GET['catalog_id']; 16$result = mysqli_query($dbLink,$sql) or trigger_error($mysqli->error."[$sql]"); 17$row = mysqli_fetch_assoc($result); 18if (!$result) { 19echo ("SQL error<BR>"); 20exit; 21} 22 23$_SESSION['path'] = $row['path']; 24$_SESSION['catalog_id'] = $row['catalog_id']; 25 26 27//問題の箇所。。。 28if (file_exists($_SESSION['catalog_id'])) { 29 header('Content-Type: images/jpg'); 30 readfile($_SESSION['catalog_id']); 31} 32 33// バイナリデータを直接表示 34echo $_SESSION['path'] 35?> 36
表示させる画面です。
php
1 2<!DOCTYPE> 3<HTML> 4<HEAD> 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 6 <title>Ex6 Sofa</title> 7 <link rel="stylesheet" href="custom.css"> 8 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css"> 9</HEAD> 10<BODY> 11 <div class="col-xs-6 col-xs-offset-3"> 12 <h1>Online shop</h1><p>Hi, <?php echo $_SESSION['username']; ?>!!</p> 13<ul> 14 <li>Your customer ID is :<?php echo $_SESSION['cust_id']; ?></li> 15 <li>You logged in number of times:<?php echo $login_no; ?></li> 16 <li>Logtime:<?php echo $date; ?></li> 17</ul> 18 <p style='color: red; margin-bottom: 0; font-weight: bold'><?php echo $errorMessage; ?></p> 19 20 <h2>Sofa</h2> 21 <table border="1" width="500" cellspacing="0" cellpadding="5" bordercolor="#333333"> 22 <tr> 23 <th>catalogID</th> 24 <th>Product name</th> 25 <th>price</th> 26 <th>Description</th> 27 <th>image</th> 28 </tr> 29 <tr> 30 <th><a href="/img_get.php?catalog_id= <?php echo $_SESSION['catalog_id'];?>"></a></th> 31 <th><?php echo $_SESSION['name']; ?></th> 32 <th><?php echo $_SESSION['price']; ?></th> 33 <th><?php echo $_SESSION['description']; ?></th> 34 <th><img src="img_get.php?catalog_id=1" /></th> 35 </tr> 36 37 </table> 38</div> 39</body> 40</html> 41
回答3件
あなたの回答
tips
プレビュー