【发布时间】:2018-07-31 10:58:47
【问题描述】:
php 正在获取以下格式的图像,同时回显$_POST['img']
http://localhost/uploads/images/1533033949-8.jpg
但是为什么取消链接不起作用 -
// Get src.
$img = $_POST["img"];
// Check if file exists.
if (file_exists(getcwd() . $img)) {
// Delete file.
unlink(getcwd() . $img);
echo "Deleted";
}
我试过直接测试,但是不行
unlink($img)
【问题讨论】:
-
文件是否存在于
getcwd() . $img?你有没有把它打印出来看看它是什么样子的?您/您的脚本/您的服务器是否有权取消链接文件? -
unlink适用于文件系统,不适用于 HTTP URL。将http://localhost/uploads/images/1533033949-8.jpg附加到当前工作目录不太可能为您提供正确的文件系统路径。 -
getcwd()php.net/manual/en/function.getcwd.php 上的手册明确声明:“成功返回当前工作目录,失败返回FALSE ."*,而不是 URL。加上The above example will output something similar to: /home/didou /home/didou/cvs。所以看看你现在得到的 URL;不一样吧?你去吧,眨眼。 -
使用
substr, strlen转换变量中的url信息有效。