php - 产品图片不显示我
问题描述
此代码用于添加和更新产品,但图像未显示。我认为它的路径错误,但我无法解决它。请在此代码中发现我出错的错误。产品图片未显示在产品页面上。我遵循A系列我编写了相同的代码但不工作但在教程中工作正常.Tankx提前
产品.php
<?php
require('top.inc.php');
if(isset($_GET['type']) && $_GET['type']!=''){
$type=get_safe_value($con,$_GET['type']);
if($type=='status'){
$operation=get_safe_value($con,$_GET['operation']);
$id=get_safe_value($con,$_GET['id']);
if($operation=='active'){
$status='1';
}else{
$status='0';
}
$update_status_sql="update product set status='$status' where id='$id'";
mysqli_query($con,$update_status_sql);
}
if($type=='delete'){
$id=get_safe_value($con,$_GET['id']);
$delete_sql="delete from product where id='$id'";
mysqli_query($con,$delete_sql);
}
}
$sql="select product.*,categories.categories from product,categories where product.categories_id=categories.id order by product.id desc";
$res=mysqli_query($con,$sql);
?>
<div class="content pb-0">
<div class="orders">
<div class="row">
<div class="col-xl-12">
<div class="card">
<div class="card-body">
<h4 class="box-title">Products </h4>
<h4 class="box-link"><a href="manage_product.php">Add Product</a> </h4>
</div>
<div class="card-body--">
<div class="table-stats order-table ov-h">
<table class="table ">
<thead>
<tr>
<th class="serial">#</th>
<th>ID</th>
<th>Categories</th>
<th>Name</th>
<th>Image</th>
<th>MRP</th>
<th>Price</th>
<th>Qty</th>
<th></th>
</tr>
</thead>
<tbody>
<?php
$i=1;
while($row=mysqli_fetch_assoc($res)){?>
<tr>
<td class="serial"><?php echo $i?></td>
<td><?php echo $row['id']?></td>
<td><?php echo $row['categories']?></td>
<td><?php echo $row['name']?></td>
<td><img src="<?php echo PRODUCT_IMAGE_SITE_PATH.$row['image']?>"/></td>
<td><?php echo $row['mrp']?></td>
<td><?php echo $row['price']?></td>
<td><?php echo $row['qty']?></td>
<td>
<?php
if($row['status']==1){
echo "<span class='badge badge-complete'><a href='?type=status&operation=deactive&id=".$row['id']."'>Active</a></span> ";
}else{
echo "<span class='badge badge-pending'><a href='?type=status&operation=active&id=".$row['id']."'>Deactive</a></span> ";
}
echo "<span class='badge badge-edit'><a href='manage_product.php?id=".$row['id']."'>Edit</a></span> ";
echo "<span class='badge badge-delete'><a href='?type=delete&id=".$row['id']."'>Delete</a></span>";
?>
</td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<?php
require('footer.inc.php');
?>
当我上传图片时,此错误显示在控制台中,而图片未显示在前端我尝试解决几个小时但我找不到错误。我知道我有一点错误但我找不到它。
GET http://localhost/AdminPanel/media/product/http://127.0.0.1/php/ecom/media/product/929442919_111.png 403 (Forbidden)
解决方案
GetSet 是对的。在语句中可以很快发现错误GET
,问题来自这里:
PRODUCT_IMAGE_SITE_PATH.$row['image']
我假设PRODUCT_IMAGE_SITE_PATH
=http://localhost/AdminPanel/media/product/
所以你可能需要清理数据$row['image']
以删除不必要的东西。
重要提示:这不是推荐的解决方案,但它会让你更接近一些更合乎逻辑的东西。
改变:
PRODUCT_IMAGE_SITE_PATH.$row['image']
至:
PRODUCT_IMAGE_SITE_PATH . str_replace($row['image'], 'http://127.0.0.1/php/ecom/media/', '')
理想情况下,在将这个 HTML 吐出到浏览器之前,会有更多的数据验证和诸如此类的事情,但这应该会让你成为其中的一部分。
推荐阅读
- python - 无法弄清楚为什么我在尝试获取 CSV 行数时不断收到 KeyError
- sql - 需要将其转换为 MongoDB 形式
- javascript - 将复杂的对象数组操作为具有键值数组的对象
- python - AttributeError:找不到 PyAudio;检查安装(语音识别)
- python - 我使用 Paramiko 的 Python 脚本在 IDE (PyCharm) 和命令行中完美运行,但不能在 AWS Lambda 上运行
- node.js - 如何获取通过请求连接的用户的本地IP地址 - Nodejs
- android - 共享元素过渡:过渡闪烁,因为目标片段具有嵌套的滚动视图
- javascript - 根据 Parent 节点 id 或 Umbraco 中页面的当前 id 搜索内容
- selenium-webdriver - 自动打开太多 Edge 实例,并显示“错误:file_io_win.cc(180)] CreateFile settings.dat:访问被拒绝。(0x5)”
- loops - 循环遍历未知属性的 Grails 对象的所有字段