如何取消文件与父目录的子目录的链接?PHP
我想从父目录的子目录中取消图像文件的链接。 我正在我的网站(mysite/project)下的director文件夹中开发这个项目,但是当我完成这个项目时,我会转移到另一个托管包。 我需要使用哪种代码才能在所有目录中稳定运行 我得到这个错误: 警告:取消链接(../../images/urunler/deneme urun.jpg):第120行的/home/admin/public\u html/eticaret/admin/includes/updateproduct.php中没有此类文件或目录 我的文件夹结构:如何取消文件与父目录的子目录的链接?PHP,php,Php,我想从父目录的子目录中取消图像文件的链接。 我正在我的网站(mysite/project)下的director文件夹中开发这个项目,但是当我完成这个项目时,我会转移到另一个托管包。 我需要使用哪种代码才能在所有目录中稳定运行 我得到这个错误: 警告:取消链接(../../images/urunler/deneme urun.jpg):第120行的/home/admin/public\u html/eticaret/admin/includes/updateproduct.php中没有此类文件或目
在运行
unlink()
命令之前,您可以检查文件是否存在,以消除此类错误
$path = "../../images/products/".$img;
if (file_exists(path)) {
unlink($path)
}
更好的方法是使用完整目录路径(绝对路径)。例如,让您的项目结构是
您的取消链接代码位于script.php
,然后您可以通过以下方式获得完整的绝对路径
$path = __DIR__ . "/../../images/products/{$img}";
if (file_exists(path)) {
unlink($path)
}
$delete=unlink(“../../../images/urunler/”$img)代码>
如果容器文件夹为products,请尝试(“../../../images/products/”$img)取消链接(“../../../images/products/”)代码>
如果失败,尝试使用绝对路径而不是相对路径 谢谢你的回答。
在这个话题上我有一个缺点。
图像名称在我的数据库中为xxx.jpg,但在文件夹中为xxx.jpeg。
但有一个有趣的情况:如果您有一个.jpeg格式的图像,您可以在浏览器上以.jpg格式打开。
我尝试了很多方法来解决上述错误,但我发现了这一点。
我现在正在使用chrome浏览器
所以我解决了我的问题:)你用什么路径链接它?我第一次使用stackoverflow编辑器,但IMGURL不起作用。我在电脑上使用了lightshot(printscreen软件)。看起来你没有复制整个警告。你能完成吗?我添加了整个错误。带有警告的脚本从public\u html
中删除了3个子目录,你认为删除了2个子目录。尝试:取消链接(“../../../images/products/”$img)代码>。如果(!file_存在),我尝试了,但不起作用。我得到同样的错误:警告:取消链接(../../images/urunler/deneme urun.jpg):第122行的/home/admin/public\u html/eticaret/admin/includes/updateproduct.php中没有这样的文件或目录更新了答案。使用文件\u存在(路径)
并使用绝对路径。
$path = __DIR__ . "/../../images/products/{$img}";
if (file_exists(path)) {
unlink($path)
}