建站专提News

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

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

本文实例讲述了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

29
04月
PHP中$_SERVER的详细参数与说明介绍

$_SERVER["PHP_SELF"] #当前正在执行脚本的文件名,与 document root相关。$_SERVER["argv"] ... >>详情

12
05月
专业网站建设让员工的工作态度更积极

随着人们生活水平的提高,很多人都会非常重视网站建设,不管是大型的企业还是小型的企业都会通过网站建设,让自己可以及时的得到宣传和推广产品,可以... >>详情

30
03月
你为何选择PHP,走上程序员之路呢?

简介:曾几何时,小音非常羡朝着慕那些码农整天键盘哒哒的敲代码,一个个漂亮的页面经过行行代码就一下就展现出来了,那时候以为做网站是件很简单的事... >>详情

29
04月
检查用户名是否已在mysql中存在的php写

在写注册系统时,如果要检查用户名是否存在,php可以这样写: 复制代码 代码如下: $username=$_REQUEST["usernam... >>详情

高端网站建设

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

电话:

023-85725751
建站

产品

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