巅云智能建站平台搭建版(创业门户版)火爆上线,终身授权!新增:文章智能采集+全站真静态打包+城市分站+智能小程序+非法词过滤+H5自适应+智能链词等功能功能详情
建站专提News

php实现复制移动文件的方法

一佰互联网站开发设计(www.yinxi.net) 发布日期 2019-04-27 10:45:01 浏览数: 140

本文实例讲述了php实现复制移动文件的方法。分享给大家供大家参考。具体如下:

仿写elFinder的,抽出关键的成员方法做的一个简单示例

实现功能是:

实现多文件复制或移动操作

注:为了方便测试,对一些判断做了简单处理。并且会在程序文件所在目录下 新生成一个test文件夹作为目的文件夹。如果实际使用需要修改。      copy.php文件如下:

<?php/** * 复制/移动操作简单示例 : >PHP5 * *//** * 判断文件是否存在 * */function _isFind($filename) {  return @file_exists($filename);}/** * 判断文件夹是否存在? 简单处理: 仅对根目录进行判断 * */function _isFindDir($dir) {  $ls = scandir(dirname(__FILE__));  foreach ($ls as $val) {    if ($val == $dir) return TRUE;  }  return FALSE;}/** * 复制或移动 * * @param  array  源文件夹数组: 简单处理:采用文件名作为元素值 * @param  string 目的文件夹 * @param  string 操作数: move - 移动 ; copy - 复制 * @return bool */function _copy_move($src = array(), $dst = "", $op = "move") {  if ( ! is_array($src)) {    $src = array($src);  }  //判断源文件是否存在?  foreach ($src as $val) {    if ( _isFind($val) === FALSE) {      return _log("Src file not find", $val);    }  }  //判断目的文件夹是否存在? 如果不存在就生成  //简单处理: 实际应用需要修改  if (_isFindDir($dst) === FALSE) {    @mkdir($dst);  }  //执行移动或复制操作  foreach ($src as $val) {    $_dst = $dst."/".basename($val);    //判断目的文件是否存在? 存在不允许进行操作    if (_isFind($_dst) === TRUE) {      return _log("Dst file is exists", $dst);    } else if (strpos($dst, $val) === 0) {      return _log("Unable to copy/move into itself");    }    if (strtolower($op) === "move") {            if ( ! rename($val, $_dst)) {        return _log("Unable to move files", $val);      }     } else if (strtolower($op) === "copy") {      if ( ! _copy($val, $_dst)) {        return _log("Unable to copy files", $val);      }    }  }  return "Success!";}/** * 复制操作  * */function _copy($src, $dst) {  if ( ! is_dir($src)) {    if ( ! copy($src, $dst)) {      return _log("Unable to copy files", $src);    }  } else {    mkdir($dst);    $ls = scandir($src);    for ($i = 0; $i < count($ls); $i++) {       if ($ls[$i] == "." OR $ls[$i] == "..") continue;      $_src = $src."/".$ls[$i];      $_dst = $dst."/".$ls[$i];      if ( is_dir($_src)) {        if ( ! _copy($_src, $_dst)) {          return _log("Unable to copy files", $_src);        }      } else {        if ( ! copy($_src, $_dst)) {          return _log("Unable to copy files", $_src);        }      }    }  }  return TRUE;}/** * 日志记录 * */function _log($msg, $arg = "") {  if ($arg != "") {    $msg = "date[".date("Y-m-d H:i:s")."]	msg[".$msg."]	arg[".$arg."]";  } else {    $msg = "date[".date("Y-m-d H:i:s")."]	msg[".$msg."]";  }  echo $msg;  return @file_put_contents("copy.log", $msg, FILE_APPEND);} /** * 示例 * 1. 需要修改$src的数组参数 ; 2. 可以修改_copy_move的第三个参数以分别测试move/copy操作 * */$src = array("img", "min", "phpinfo.php");$dst = "test";var_dump(_copy_move($src, $dst, "copy"));/*end of php*/

希望本文所述对大家的php程序设计有所帮助。

一佰互联是全国知名建站品牌服务商,我们有九年网站建设、网站制作、网页设计、php开发和域名注册及虚拟主机服务经验,提供的自助建站服务更是全国有名。近年来还整合团队优势自主开发了可视化多用户”巅云建站系统“3.0平台版,拖拽排版网站制作设计,轻松实现pc站、手机微网站、小程序、APP一体化全网营销网站建设 ,已成功的为全国上百家网络公司提供自助建站平台搭建服务。

相关新闻more

20
04月
HTML5通用接口详解

1.先说几个基本类型: DOMString, boolean, long, unsigned long, double,NaN(Not-a-... >>详情

26
04月
PHP中的使用curl发送请求(GET请求和

使用CURL发送请求的基本流程使用CURL的PHP扩展完成一个HTTP请求的发送一般有以下几个步骤:1.初始化连接句柄;2.设置CURL选项... >>详情

14
04月
SEO里面搜索技巧也是有讲究的

一直以来,我对很多新手朋友问我应该怎么学习这样的问题回答都是:使用搜索引擎。可以这样说,搜索引擎是我们自我学习最好的老师,不仅效率高,而且这... >>详情

11
04月
在这些实例中,学会用动效赋予你APP生命力

如果重新审视10年前的网页和移动端应用的话,你会发现动效和动画在这个时期简直是犯规一般的存在:浏览器和硬件设备吃不消,它们根本无法成为设计最... >>详情

高端网站建设

美工兼顾SEO,为企业电子商务营销助力!

电话:

023-85725751
建站

产品

域名注册 虚拟主机 云服务器 企业邮局
智能建站 APP打包 微站/小程序 创业平台
网站推广 媒体营销 智能采集 AI机器人
400电话 短信营销 店销机器人
私人定制 门户网站