我目前正在尝试创建一个功能,将允许某些管理用户删除我们的Wordpress网站上的帖子。更具体地说,直接从Wordpress媒体库中删除文件。我可以通过类型成功检索这些文件并显示它们的名称,但每当我尝试利用unlink()方法从使用中删除某些文件时,它都会搜索相对于php脚本而非服务器的文件。我试过使用$ _SERVER ['DOCUMENT_ROOT']并重复添加“../”,以便返回足够多的目录,然后正确指定文件路径,但这两个选项都不起作用。我也不能在unlink()中使用$ context参数,因为php版本不是最新的,现在更新它是不可行的。下面是我的一些代码:WordPress的/ PHP-取消链接文件搜索目录不包含文件路径
foreach($imgs as $img){
$imgcutpath = substr($img, 0, 33);
fopen($img, "r");
$imgpath = str_replace($imgcutpath, "", $img);
echo "<a href='?delete=1'> Delete</a>";
if (isset($_GET['delete']))
{ unlink($_SERVER['DOCUMENT_ROOT'] . $imagepath); }
}
而且,这里是我收到警告:
Warning: unlink(/path/to/file/from/server): Is a directory in
/path/to/php/file/running/this/code/from/server/phpfile.php on line 28
这是不完全的警告,我简单地更换出于安全原因,实际的文件路径。谢谢您的帮助!
感谢您的建议!绝对有助于使用WordPress库。对于任何有此问题的人,我使用https://frankiejarrett.com/2013/05/get-an-attachment-id-by-url-in-wordpress/中的代码来使用url获取附件标识,然后简单地使用像Jeremy建议的wp_delete_attachment()函数。 –