最近在写个网站,需要上传图片,如果修改图片,就图片就没有用了,会占用服务器的硬盘资源,所以想到用unlink函数删除旧照片.
问题 : unlink函数只能删除 相对于函数执行文件的相对目录 或 磁盘的绝对目录.
两个目录都不方便, 因为我存的图片目录是网站根目录的相对路径.
解决办法:
在入口文件定义网站磁盘目录的常量 , 在删除的时候进行拼接
在 index.php
- // 定义磁盘目录
- // 定义磁盘目录
- define('__DOCUMENT_PATH__',substr(__FILE__ ,0,-10) );
- 然后定义一个公共函数
- function delOldPic($url) {
- unlink(__DOCUMENT_PATH__.$pic);
- }
用自定义函数删除就可以了
问题 : 这么做安全性感觉会降低 , 水平有限, 这块的问题不能求证, 欢迎圆友留言帮助
下面通过例子看下PHP unlink() 函数的定义
定义和用法
unlink() 函数删除文件。
若成功,则返回 true,失败则返回 false。
语法
unlink(filename,context)
参数 描述
filename 必需。规定要删除的文件。
context 可选。规定文件句柄的环境。Context 是可修改流的行为的一套选项。
提示和注释
注释:对 context 的支持是 PHP 5.0.0 添加的。
例子
- <?php
- $file = "test.txt";
- if (!unlink($file))
- {
- echo ("Error deleting $file");
- }
- else
- {
- echo ("Deleted $file");
- }
- ?>
新闻热点
疑难解答