什么是unlink()
在PHP中,unlink()函数用来删除指定的文件或者符号链接。
在删除文件的同时,unlink()函数会删除文件的所有符号链接。如果要删除符号链接而保留文件本身,则使用unlink()的别名symlink()。
语法
bool unlink ( string $filename [, resource $context ] )
参数
filename:要删除的文件的名称或路径。
context(可选):如果需要访问 HTTP 或者 FTP 等远程文件,则需要使用此参数来传递上下文。
实例 - 删除文件
$fileLocation = "./uploads/example.pdf";
if (file_exists($fileLocation)) {
unlink($fileLocation);
echo "文件删除成功!";
} else {
echo "文件不存在!";
}
在上面的例子中,我们检查了要删除的文件是否存在。如果文件存在,我们使用unlink()
函数删除它,并输出一条确认消息。如果文件不存在,我们输出一条错误消息。
实例 - 删除文件以及所有符号链接
$fileLocation = "./uploads/example.pdf";
if (file_exists($fileLocation)) {
realpath($fileLocation);
unlink($fileLocation);
echo "文件删除成功!";
} else {
echo "文件不存在!";
}
在这个例子中,我们首先使用realpath()
函数来获取文件的绝对路径。然后,我们使用unlink()
函数来删除文件以及所有符号链接。最后,我们输出一条确认消息。
实例 - 删除符号链接
如果要删除符号链接而保留文件本身,可以使用symlink()
函数来创建符号链接,并将unlink()
函数用作删除符号链接的方法。
$fileLocation = "./example.pdf";
$linkLocation = "./uploads/example-symlink.pdf";
if (file_exists($fileLocation)) {
symlink($fileLocation,$linkLocation);
echo "符号链接创建成功!";
unlink($linkLocation);
echo "符号链接删除成功!";
} else {
echo "文件不存在!";
}
在上面的例子中,我们首先检查原始文件是否存在。如果原始文件存在,我们使用symlink()
函数创建符号链接,并输出一条确认消息。然后,我们使用unlink()
函数删除符号链接,并输出另一条确认消息。
安全提示
unlink()函数可以被用来删除任何文件,包括敏感的系统文件。为了防止滥用,建议在生产环境中限制该函数的访问权限。