php unlink()函数使用教程

最近在写个网站,需要上传图片,如果修改图片,就图片就没有用了,会占用服务器的硬盘资源,所以想到用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");
 }
?>

总结

以上所述是小编给大家介绍的php unlink()函数使用教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • php中unlink()、mkdir()、rmdir()等方法的使用介绍

    unlink()函数删除文件 .mkdir()函数创建目录.rmdir()函数删除目录 复制代码 代码如下: <html> <head> <title>unlink()函数使用实例</title> </head> <body> <? //使用unlink函数删除文件 $filename="data.txt"; //定义变量 unlink($filename); //用unlink函数删除文件,这里的filen

  • PHP 删除文件与文件夹操作 unlink()与rmdir()这两个函数的使用

    先看一下代码 复制代码 代码如下: <? function deldir($dir) { //先删除目录下的文件: $dh=opendir($dir); while ($file=readdir($dh)) { if($file!="." && $file!="..") { $fullpath=$dir."/".$file; if(!is_dir($fullpath)) { unlink($fullpath); } else

  • PHP unlink与rmdir删除目录及目录下所有文件实例代码

    在php中删除文件与目录其实很简单只要两个函数一个是unlink一个rmdir函数,如果要实现删除目录及目录下的文件我们需要利用递归来操作. 函数代码:仅删除指定目录下的文件,不删除目录文件夹,代码如下: class shanchu { //循环目录下的所有文件 function delFileUnderDir( $dirName="../Smarty/templates/templates_c" ) { if ( $handle = opendir( "$dirName&q

  • php unlink()函数使用教程

    最近在写个网站,需要上传图片,如果修改图片,就图片就没有用了,会占用服务器的硬盘资源,所以想到用unlink函数删除旧照片. 问题 : unlink函数只能删除 相对于函数执行文件的相对目录  或  磁盘的绝对目录. 两个目录都不方便, 因为我存的图片目录是网站根目录的相对路径. 解决办法: 在入口文件定义网站磁盘目录的常量 , 在删除的时候进行拼接 在 index.php // 定义磁盘目录 // 定义磁盘目录 define('__DOCUMENT_PATH__',substr(__FILE_

  • Linux unlink函数和删除文件的操作方法

    1. unlink函数   对于硬链接来说,unlink 用来删除目录项,并把 inode 引用计数减 1,这两步也是一个原子过程.直到 inode 引用计数为 0,才会真正删除文件.   对于软链接来说,unlink 直接删除软链接,而不影响软链接指向的文件. 函数原型: int unlink(const char *pathname);   参数说明:   pathname:指定要移除的链接文件 返回值说明:   成功返回0:失败则返回-1,同时设置errno为相应值 2. 实验代码-myu

  • 何时/使用 Vue3 render 函数的教程详解

    什么是 DOM? 如果我们把这个 HTML 加载到浏览器中,浏览器创建这些节点,用来显示网页.所以这个HTML映射到一系列DOM节点,然后我们可以使用JavaScript进行操作.例如: let item = document.getElementByTagName('h1')[0] item.textContent = "New Heading" VDOM 网页可以有很多DOM节点,这意味着DOM树可以有数千个节点.这就是为什么我们有像Vue这样的框架,帮我们干这些重活儿,并进行大量

  • C语言函数基础教程分类自定义参数及调用示例详解

    目录 1.  函数是什么? 2.  C语言中函数的分类 2.1 库函数 2.1.1 为什么要有库函数 2.1.2 什么是库函数 2.1.3 主函数只能是main()吗 2.1.4常见的库函数 2.2 自定义函数 2.2.1自定义函数是什么 2.2.2为什么要有自定义函数 2.2.3函数的组成 2.2.4 举例展示 3. 函数的参数 3.1 实际参数(实参) 3.2  形式参数(形参) 4. 函数的调用 4.1 传值调用 4.2  传址调用 4.3 练习 4.3.1. 写一个函数判断一年是不是闰年

  • C++11标准库bind函数应用教程

    目录 bind 是什么? 举个栗子 1. bind 无参数的普通函数 2. bind 1个参数的普通函数 3. bind 多个参数的普通函数 4. bind 多个参数的普通函数并打乱参数位置 5. bind 类的成员函数 再举个应用栗子 bind 是什么? bind 顾名思义: 绑定 通俗来讲呢,可以这么理解有点像函数指针的意思. 资料上是这么讲的:可以将 bind 函数看做一个通用函数的适配器,它接受一个可调用对象,生成一个新的可以调用对象来"适应"原对象参数列表 它一般调用形式:

  • Python OpenCV简单的绘图函数使用教程

    目录 1.画直线的函数是cv2.line 2.画矩形的函数是cv2.rectangle 3.画圆函数是cv2.circle 4.画椭圆的函数是cv2.elipes 5.画多边形的函数是cv2.polylines 6.添加文字的函数是cv2.putText 1.画直线的函数是cv2.line cv2.line函数语法: cv2.line(img,start_point,end_point,color,thickness=0) cv2.line函数参数解释: img:需要画的图像 start_poi

  • FreeRTOS信号量API函数基础教程

    目录 前言 1创建二进制信号量 1.1函数描述 2创建计数信号量 3创建互斥量 4创建递归互斥量 5删除信号量 6获取信号量 7获取信号量(带中断保护) 8获取递归互斥量 9释放信号量 10释放信号量(带中断保护) 11释放递归互斥量 12获取互斥量持有任务的句柄 前言 FreeRTOS的信号量包括二进制信号量.计数信号量.互斥信号量(以后简称互斥量)和递归互斥信号量(以后简称递归互斥量).我们可以把互斥量和递归互斥量看成特殊的信号量. 信号量API函数实际上都是宏,它使用现有的队列机制.这些宏

  • python高阶函数使用教程示例

    目录 一.高阶函数 函数定义 函数名可作为返回值.也可作为参数 (1)函数名作为参数 (2)函数名作为返回值 二.常用的高阶函数 (1)map(function,iterable) (2)filter(function, iterable) (3)reduce(function, iterable) 一.高阶函数 函数定义 python中,函数名是变量,下方这个method函数名看成变量,指向一个计算的函数!因此函数名其实就是指向函数的变量,故变量可指向函数: 变量可指向函数,且函数的变量可接受

  • MySQL Count函数使用教程

    目录 一.COUNT 的使用 二.COUNT是怎么样运行的 三.COUNT函数的索引使用情况 四.补充 五.总结 COUNT 是一个汇总函数(聚集函数),它接受一个表达式作为参数: COUNT(expr) COUNT函数用于统计在符合搜索条件的记录中,指定的表达式expr不为NULL的行数有多少.这里需要特别注意的是,expr不仅仅可以是列名,其他任意表达式都是可以的. 一.COUNT 的使用 select COUNT(key1) FROM t; 这个语句是用于统计在 t 表 key1 列 值不

  • Vue API中setup ref reactive函数使用教程

    目录 1.setup 2.ref函数 3.reactive函数 4.Vue3.0中的响应式原理 5.reactive对比ref 1.setup 组件中所用到的:数据.方法等等,均要配置在setup中 setup函数的两种返回值: 若返回一个对象,则对象中的属性.方法, 在模板中均可以直接使用.(重点注意) 若返回一个渲染函数:则可以自定义渲染内容. 注意: vue2可以读取vue3里面的数据 如果 vue2和vue3冲突,会用vue3的,所以 尽量不要与Vue2.x配置混用 Vue2.x配置(d

随机推荐