最近在写个网站,需要上传图片,如果修改图片,就图片就没有用了,会占用服务器的硬盘资源,所以想到用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 是可修改流的行为的一套选项。 |
新闻热点
疑难解答