我想断开图像文件与父目录的子目录的链接。 我在网站(mysite / project)下的Director文件夹中开发此项目,但是当我完成该项目时,我将移至另一个托管包。 我需要使用哪个代码才能在所有目录中稳定运行?
我收到此错误:
警告:取消链接(../../images/urunler/deneme-urun.jpg):/home/admin/public_html/eticaret/admin/includes/updateproduct.php中第120行上没有这样的文件或目录< / p>
我的文件夹结构:
click here to see my folder structure
$delete = unlink("../../images/products/".$img);
答案 0 :(得分:1)
在运行unlink()
命令之前,您可以检查文件的存在以消除此类错误
$path = "../../images/products/".$img;
if (file_exists(path)) {
unlink($path)
}
更好的是使用完整目录路径(绝对路径)。例如,让您的项目结构为
并且您的未链接代码在script.php
中,那么您可以通过以下方式获得完整的绝对路径
$path = __DIR__ . "/../../images/products/{$img}";
if (file_exists(path)) {
unlink($path)
}
答案 1 :(得分:0)
因为脚本是从“ public_html / eticaret / admin / includes / ”运行的,所以您需要..遍历3个目录以获取 public_html 是图像和脚本的共同祖先文件夹
根据您的目录图像,图像位于 public_html / myproject / images / products / 中,并且根据注释中详述的错误,您尝试从 images / urunler中删除/ 我假设 urunler 是实际的项目名称。
如果包含图像的文件夹不可用,请尝试$delete = unlink("../../../images/urunler/".$img);
如果容器文件夹是产品,请尝试$delete = unlink("../../../images/products/".$img);
如果失败,请尝试使用绝对路径而不是相对路径。
答案 2 :(得分:0)
感谢所有答案。 我在这个话题上有毛病。 图像名称在我的数据库中为xxx.jpg,但在文件夹中为xxx.jpeg。 但是有一种有趣的情况:如果您使用.jpeg格式的图片,则可以在浏览器中以.jpg格式打开图片。 我已经尝试了很多方法来解决上述错误,但是我发现了。 我现在正在使用Chrome浏览器。
所以我解决了我的问题:)