从 loadHTML 获取 url 时取消链接不起作用

unlink not working when getting a url from loadHTML

我有一个奇怪的问题。我有一个 运行 脚本,它将循环遍历 table,其中包含一些包含 HTML 的记录。其中 html 是我需要在脚本为 运行 时删除的图像。这是我的做法

while ($row_find = $result_find->fetch_array()) {
    $comment = $row_find['comment']; <--this is html
    $html = $comment;
    $doc = new DOMDocument();
    @$doc->loadHTML($html);
    $imgs = $doc->getElementsByTagName('img');
    // images
    foreach ($imgs as $img) {
        $src = stripslashes(trim($img->getAttribute('src')));
        $img_new = str_replace("https://www.example.com","/home/document/path/html/root",$src);
        unlink($img_new);
    }           
}

我所做的是通过loadHTML加载html,然后使用$doc->getElementsByTagName('img')获取图像的attrsrc。然后将该图像的路径更改为文档根目录,然后只需 unlink($img_new)

问题是这不起作用。我已经检查了路径一百万次,它是正确的,文件夹和文件的权限是正确的。我已经使用 trim 来确保没有白色 space ,但是在这个脚本中是行不通的

现在,如果我采用相同的方法 unlink('/home/document/path/html/root/thisimage.png'),除了我手动写入路径并将其放置在脚本的顶部,它工作正常并且图像被删除。

路径正确,但不会删除。这与从 DOMDocument 创建图像路径有关吗?

当我 运行 这样的东西时,我总是使用 var_dump() 来确定变量中的内容。有时只是 echo().

就会错过一些事情

看起来在这种情况下,它是一组额外的引号。很高兴你找到了!