从 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')
获取图像的attr
src
。然后将该图像的路径更改为文档根目录,然后只需 unlink($img_new)
问题是这不起作用。我已经检查了路径一百万次,它是正确的,文件夹和文件的权限是正确的。我已经使用 trim
来确保没有白色 space ,但是在这个脚本中是行不通的
现在,如果我采用相同的方法 unlink('/home/document/path/html/root/thisimage.png')
,除了我手动写入路径并将其放置在脚本的顶部,它工作正常并且图像被删除。
路径正确,但不会删除。这与从 DOMDocument
创建图像路径有关吗?
当我 运行 这样的东西时,我总是使用 var_dump()
来确定变量中的内容。有时只是 echo()
.
就会错过一些事情
看起来在这种情况下,它是一组额外的引号。很高兴你找到了!
我有一个奇怪的问题。我有一个 运行 脚本,它将循环遍历 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')
获取图像的attr
src
。然后将该图像的路径更改为文档根目录,然后只需 unlink($img_new)
问题是这不起作用。我已经检查了路径一百万次,它是正确的,文件夹和文件的权限是正确的。我已经使用 trim
来确保没有白色 space ,但是在这个脚本中是行不通的
现在,如果我采用相同的方法 unlink('/home/document/path/html/root/thisimage.png')
,除了我手动写入路径并将其放置在脚本的顶部,它工作正常并且图像被删除。
路径正确,但不会删除。这与从 DOMDocument
创建图像路径有关吗?
当我 运行 这样的东西时,我总是使用 var_dump()
来确定变量中的内容。有时只是 echo()
.
看起来在这种情况下,它是一组额外的引号。很高兴你找到了!