Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何取消文件与父目录的子目录的链接?PHP_Php - Fatal编程技术网

如何取消文件与父目录的子目录的链接?PHP

如何取消文件与父目录的子目录的链接?PHP,php,Php,我想从父目录的子目录中取消图像文件的链接。 我正在我的网站(mysite/project)下的director文件夹中开发这个项目,但是当我完成这个项目时,我会转移到另一个托管包。 我需要使用哪种代码才能在所有目录中稳定运行 我得到这个错误: 警告:取消链接(../../images/urunler/deneme urun.jpg):第120行的/home/admin/public\u html/eticaret/admin/includes/updateproduct.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)                        
}
  • 由于脚本是从“public_html/eticaret/admin/includes/”运行的,您需要。。向后遍历3个目录以访问public_html,这是图像和脚本的共同祖先文件夹

  • 根据您的目录图像,您的图像位于public\u html/myproject/images/products/中,并且根据您的评论中详细说明的错误,您正在尝试从images/urunler中删除/I假设urunler是实际的项目名称

  • 如果包含图像的文件夹是urunler,请尝试
    $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)                        
    }