Php检查unlink是否返回false或true

Php检查unlink是否返回false或true,php,permissions,return,unlink,Php,Permissions,Return,Unlink,我想检查unlink返回的是真还是假 目前我尝试了以下方法: if(!unlink("$directory/$file")) { echo "works not"; } else { echo "works"; } 我没有得到输出,我只是得到以下信息: unlink("path"...VTS_01_1.VOB): Permission denied 但是它不起作用,有什么想法吗?在尝试取消链接之前,您可以使用是可写的功能: if( ! @is_writable( "$di

我想检查unlink返回的是真还是假

目前我尝试了以下方法:

if(!unlink("$directory/$file"))
{
     echo "works not";
}
else
{
     echo "works";
}
我没有得到输出,我只是得到以下信息:

unlink("path"...VTS_01_1.VOB): Permission denied

但是它不起作用,有什么想法吗?

在尝试
取消链接之前,您可以使用
是可写的
功能:

if( ! @is_writable( "$directory/$file" ) ) {
     echo "works not";
}
else {
    unlink( "$directory/$file" );
    echo "works";
}
是可写的
如果失败,功能将显示警告(如果根据配置显示错误),因此使用
@
抑制错误,如上述代码所示

话虽如此,您的代码也没有错,即使您的代码有错误,您也应该得到不工作的输出。如果您没有得到它,这很可能意味着在代码中的某个地方设置了一个错误处理程序&处理程序通过exitdie结束执行

例如,以下代码只会生成错误,没有输出(如果“$directory/$file”不可写):


因此,检查
set\u error\u handler
set\u exception\u handler
,查看它们是否正在停止执行。输出缓冲也可能是原因。

在尝试
取消链接之前,您可以使用
可写功能:

if( ! @is_writable( "$directory/$file" ) ) {
     echo "works not";
}
else {
    unlink( "$directory/$file" );
    echo "works";
}
是可写的
如果失败,功能将显示警告(如果根据配置显示错误),因此使用
@
抑制错误,如上述代码所示

话虽如此,您的代码也没有错,即使您的代码有错误,您也应该得到不工作的输出。如果您没有得到它,这很可能意味着在代码中的某个地方设置了一个错误处理程序&处理程序通过exitdie结束执行

例如,以下代码只会生成错误,没有输出(如果“$directory/$file”不可写):


因此,检查
set\u error\u handler
set\u exception\u handler
,查看它们是否正在停止执行。输出缓冲也可能是原因。

您在这里得到的输出是什么?我什么都没有,我只收到以下消息:
取消链接(“path”…VTS_01_1.VOB):权限被拒绝
我故意打开该文件夹/文件以捕获错误并显示有关此问题的适当消息,在这种情况下没有权限错误,它只是向我显示了错误,因为我打开了文件夹/文件。可能是重复的。嗯,这里应该以这种或那种方式输出某些内容…除了
echo
,您能尝试做任何其他事情吗,排除输出到
stdout
时由于任何奇怪的原因出现的问题?相反,抛出一个异常,写入其他文件,播放声音或其他东西,只是为了查看它是否正在进入
if
else
。您在这里得到了什么作为输出?我什么都没有,我只得到以下消息:
取消链接(“路径”…VTS_01_1.VOB):权限被拒绝
我故意打开该文件夹/文件以捕获错误并显示有关此问题的适当消息,在这种情况下没有权限错误,它只显示错误,因为我已打开该文件夹/文件。可能与,这里应该以这样或那样的方式输出某些内容……除了
echo
,您是否可以尝试做任何其他事情,以排除出于任何奇怪的原因,输出到
stdout
时存在一些问题?改为抛出异常,写入其他文件,播放声音或其他内容,只是为了查看它是否正在进入
if
else