在 TP5 中,删除图片的步骤一般如下:
1. 从数据库中获取要删除的图片路径;
2. 删除数据库中的图片路径;
3. 删除服务器上的图片文件。
具体实现可以参考以下代码:
```php
// 获取要删除的图片路径
$imagePath = Db::name('table_name')->where('id', $id)->value('image_path');
// 删除数据库中的图片路径
Db::name('table_name')->where('id', $id)->update(['image_path' => null]);
// 删除服务器上的图片文件
if (!empty($imagePath)) {
$imageFullPath = ROOT_PATH . 'public' . $imagePath;
if (file_exists($imageFullPath)) {
unlink($imageFullPath);
}
}
```
在上面的代码中,`$id` 是要删除的记录的 ID,`$imagePath` 是从数据库中获取到的图片路径。首先,我们从数据库中获取要删除的图片路径;然后,使用 `update` 方法将该记录的图片路径设置为 `null`,即删除图片路径;最后,如果图片路径不为空,则拼接出完整的图片文件路径,并使用 `unlink` 函数删除该文件。需要注意的是,这里的图片路径是相对于网站根目录的路径,因此需要使用 `ROOT_PATH` 常量来获取网站根目录的绝对路径。