php批量重命名文件名

 更新时间:2016年11月25日 16:27  点击:1692
本程序分为简单的单文件重名,加上getfile就可以实现文件批量重命名了,$path为要你重命名的目录,它可以把指定目录下所指定文件类型的议论后次批量重命名哦。非常好用。

*/

 代码如下 复制代码

$format ='php';
$path ='www.111cn.net/';
$files = getfile($path,$format);

foreach( $files as  $v )
{
 $tv = basename($v);
 list($name,$ext) = explode('.',$tv);
 $newname =$path.time().mt_rand(1,10000).'.'.$ext;
 if(rename($v,$newname))
 {
  echo '成功将'.$v.'重命名'.$newname.'<br />'; 
 }
}

function getfile($path,$format)
{
 $dirs    = array();
 foreach(glob("$path*") as $d)
 {
  $tmp = explode('.',$d);
  $k = end($tmp);
  if(is_file($d) && ($k ==strtolower($format) ))
  {
   $dirs[]    = $d;
  }
 }
 return $dirs;
}

/*
成功将rename/12819320034756.php重命名rename/12819402065296.php
成功将rename/12819320036890.php重命名rename/12819402067216.php
成功将rename/12819320037133.php重命名rename/12819402067656.php

本站原创教程,坟载注明来源http://www.111cn.net/phper/php.html
*/
?>

本文章提供的三款文件下载代码有二款是支持本地服务器文件下载的,另一款支持下载远程服务器上的文件下载到本地哦。
 代码如下 复制代码

function download($file_dir,$file_name)
//参数说明:
//file_dir:文件所在目录
//file_name:文件名
{
    $file_dir = chop($file_dir);//去掉路径中多余的空格
    //得出要下载的文件的路径
    if($file_dir != '')
    {
        $file_path = $file_dir;
        if(substr($file_dir,strlen($file_dir)-1,strlen($file_dir)) != '/')
            $file_path .= '/';
        $file_path .= $file_name;
    }           
    else
        $file_path = $file_name;   
   
    //判断要下载的文件是否存在
    if(!file_exists($file_path))
    {
        echo '对不起,你要下载的文件不存在。';
        return false;
    }

    $file_size = filesize($file_path);
 
    header("content-type: application/octet-stream");
    header("accept-ranges: bytes");
    header("accept-length: $file_size");
    header("content-disposition: attachment; filename=".$file_name);
   
    $fp = fopen($file_path,"r");
    $buffer_size = 1024;
    $cur_pos = 0;
   
    while(!feof($fp)&&$file_size-$cur_pos>$buffer_size)
    {
        $buffer = fread($fp,$buffer_size);
        echo $buffer;
        $cur_pos += $buffer_size;
    }
   
    $buffer = fread($fp,$file_size-$cur_pos);
    echo $buffer;
    fclose($fp);
    return true;

}

?>

<?php 
   

 代码如下 复制代码
$file_name = "info_check.exe";
    $file_dir = "/public/www/download/";
    if (!file_exists($file_dir . $file_name)) { //检查文件是否存在
    echo "文件找不到";
    exit;
    } else {
    $file = fopen($file_dir . $file_name,"r"); // 打开文件
    // 输入文件标签
    header("content-type: application/octet-stream");
    header("accept-ranges: bytes");
    header("accept-length: ".filesize($file_dir . $file_name));
    header("content-disposition: attachment; filename=" . $file_name);
    // 输出文件内容
    echo fread($file,filesize($file_dir . $file_name));
    fclose($file);
    exit;}

?>


<?
// 如果文件路径是http和ftp,下载代码如下:

   

 代码如下 复制代码

$file_name = "info_check.exe";
    $file_dir = " http://www.111cn.net/"; 
    $file = @ fopen($file_dir . $file_name,"r");
    if (!$file) {
    echo "文件找不到";
    } else {
    header("content-type: application/octet-stream");
    header("content-disposition: attachment; filename=" . $file_name);
    while (!feof ($file)) {
    echo fread($file,50000);
    }
    fclose ($file);
    }

    ?>

这里又提供一款php购物车实例代码,这是一款适合种位要开发商城或购物系统参考的开发实例了,告诉你如果增加商品到购物并删除,与购物车的数据库设计实例。

inventory表

 代码如下 复制代码

create table inventory (
  product tinytext not null,
  quantity tinytext not null,
  id int(4) default '0' not null auto_increment,
  description tinytext not null,
  price float(10,2) default '0.00' not null,
  category char(1) default '' not null,
  key id (id),
  primary key (id),
  key price (price)
);
insert into inventory values ('硬盘','5','1','80g','5600','1');
insert into inventory values ('cpu','12','2','p4-2.4g','6600','1');
insert into inventory values ('dvd-rom','7','3','12x','2000','1');
insert into inventory values ('主板','3','4','asus','5000','2');
insert into inventory values ('显示卡','6','5','64m','4500','1');
insert into inventory values ('刻录机','4','6','52w','3000','1');

shoping表

create table shopping (
  session tinytext not null,
  product tinytext not null,
  quantity tinytext not null,
  card tinytext not null,
  id int(4) default '0' not null auto_increment,
  key id (id),
  primary key (id)
);

shoper表

create database shopper;
use shopper;
create table shopping (
  session tinytext not null,
  product tinytext not null,
  quantity tinytext not null,
  card tinytext not null,
  id int(4) default '0' not null auto_increment,
  key id (id),
  primary key (id)
);
create table inventory (
  product tinytext not null,
  quantity tinytext not null,
  id int(4) default '0' not null auto_increment,
  description tinytext not null,
  price float(10,2) default '0.00' not null,
  category char(1) default '' not null,
  key id (id),
  primary key (id),
  key price (price)
);
insert into inventory values ('硬盘','5','1','80g','5600','1');
insert into inventory values ('cpu','12','2','p4-2.4g','6600','1');
insert into inventory values ('dvd-rom','7','3','12x','2000','1');
insert into inventory values ('主板','3','4','asus','5000','2');
insert into inventory values ('显示卡','6','5','64m','4500','1');
insert into inventory values ('刻录机','4','6','52w','3000','1');
*/

 

 代码如下 复制代码

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<title> php教程文件上传代码</title>
</head>

<body>

<form method="post" enctype="multipart/form-data" action ="uploads.php">
<input type = "file" name="uploadedfile" size="30">
<input type = "hidden" name = "max_file_size" value="100000">
<input type = "submit" value = "上传文件">
</form>

</body>
</html>

<?php

 代码如下 复制代码
if ($uploadedfile<>"none") {
 if (!copy($uploadedfile, "$uploadedfile_name")) {
 echo "<font face='arial' size='2'> $name 文件上传失败 ,<br>";
 echo "也可能是文件太大<br>";
 echo "请使用 back 按键再试一次";
 } else {
 echo "<font face='arial' size='2'>文件上传成功 !<br>";
 echo "文件类型:$uploadedfile_type <br>";
 echo "文件大小:$uploadedfile_size <br>";
 echo "文件名称:$uploadedfile_name <br>";
 echo "文件说明:$description <br>";
 }
}
/*
这是一款很实例的 php文件上传代码   程序,拿着就能用的。
*/

?>

这是一款完美的php文件上传代码,图片上传成功后并自动给图片增加上水印,这样很好的快速的提高的了要手工一张张增加水印效果。
 代码如下 复制代码

 function upload($uploadfile,$watermark=1,$watertype=1,$content){
  foreach($uploadfile['name'] as $key=>$name) {  //多文件上传函数
   uploadall($uploadfile,$key,$watermark,$watertype,$content);
  }
 }
 function uploadall($uploadfile,$i,$watermark,$watertype,$content) {
  $watermark=$watermark;         //是否附加水印(1为加水印,其他为不加水印);
  $watertype=$watertype;         //水印类型(1为文字,2为图片)
  $watercontent=$content;         //水印的内容
  if(empty($uploadfile['name'][$i])) {
   die("未选择文件上传");
  }
  if($uploadfile['error'][$i] == 2) {   //验证html判断结果
   die("上传的文件太大了");
  }
  $allow_filemaxsize = 2048000;    // 2m
  $filesize = $uploadfile['size'][$i];
  if($filesize > $allow_filemaxsize) {
   die("上传的文件太大了");
  }
  $allow_filetypes = array("jpeg", "gif", "png","jpg","pjpeg");//允许上传的文件统一资源类型 mimetype
  $allow = false;        //默认都不允许
  $mimetype = $uploadfile['type'][$i];  //上传文件的mime文件类型
  foreach($allow_filetypes as $t) {
   if(strpos($mimetype, $t) !== false) {
    $allow = true;      //找到了符合上传条件的文件类型
    break;
   }
  }
  if($allow == false) {
   die("上传的文件类型不被允许");
  }
  $result = is_uploaded_file($uploadfile['tmp_name'][$i]);   //判断是否为上传动作产生的
  if(!$result) {
   die("上传的文件有误");
  }
  $uploaddir = "img/";       //上传文件保存目录
  if(!file_exists($uploaddir)) mkdir($uploaddir, 0777, true);//若上传保存目录不存在,则递归创建
  /**重命名文件**/
  $filetype = explode(".", $uploadfile['name'][$i]);
  $filetype = array_pop($filetype);
  $uploadfilename = time().".".$filetype;
  $_session['filename'] = $uploadfilename;
  //end
  $result = move_uploaded_file($uploadfile['tmp_name'][$i], $uploaddir.$uploadfilename);
  if($result) {
   echo  "文件上传成功";
  }else{
   switch($uploadfile['error'][$i]) {
    case 1:return "上传的文件超出了php.ini中设定的最大值";break;
    case 2:return "上传的文件超出了html中设定的最大值";break;
    case 3:return "文件只有部分被上传";break; 
    case 4;return "没有文件被上传";break; 
    default:die("文件上传失败");  
   }
  }
  if($watermark==1) {
   $iinfo=getimagesize($uploaddir.$uploadfilename);  //获取图片的相关信息,得到数组
   $nimage=imagecreatetruecolor($iinfo[0],$iinfo[1]);
   $white=imagecolorallocate($nimage,255,255,255); //设置背景颜色为白色
   $black=imagecolorallocate($nimage,0,0,0);  //设置背景颜色为黑色
   $red=imagecolorallocate($nimage,255,0,0);  //设置背景颜色为红色
   imagefill($nimage,0,0,$white);     //背景填充为白色
   switch ($iinfo[2]) {
    case 1:
    $simage =imagecreatefromgif($uploaddir.$uploadfilename);
    break;
    case 2:
    $simage =imagecreatefromjpeg($uploaddir.$uploadfilename);
    break;
    case 3:
    $simage =imagecreatefrompng($uploaddir.$uploadfilename);
    break;
    case 6:
    $simage =imagecreatefromwbmp($uploaddir.$uploadfilename);
    break;
    default:
    die("不支持的文件类型");
    exit;
   }
   imagecopy($nimage,$simage,0,0,0,0,$iinfo['0'],$iinfo['1']);
   switch($watertype) {
    case 1:             //加水印字符串
    imagestring($nimage,5,$iinfo['0']/2-50,$iinfo['1']-30,$watercontent,$black);
    break;
    case 2:            //加水印图片
    $simage1 =imagecreatefromgif($watercontent);
    $size = getimagesize($watercontent);
    imagecopy($nimage,$simage1,$iinfo['0']/2+50,$iinfo['1']-100,0,0,$size[0],$size[1]);
    imagedestroy($simage1);
    break;
   }

   switch ($iinfo[2]) {
    case 1:
    imagejpeg($nimage, $uploaddir.$uploadfilename); //将图像$nimage以$destination文件名创建一个jpeg的格式文件
    break;
    case 2:
    imagejpeg($nimage, $uploaddir.$uploadfilename);
    break;
    case 3:
    imagepng($nimage, $uploaddir.$uploadfilename);
    break;
    case 6:
    imagewbmp($nimage, $uploaddir.$uploadfilename);
    break;
   }
   imagedestroy($nimage);    //覆盖原上传文件
   imagedestroy($simage);
  }
}
if(@$_get['act'] == "insert") {    //未作参数校验
     //该函数的四个参数分别是:上传控件的name值;是否加水印(1为加,其他数字为不佳);
     //水印的类型(1为字符串,2为图片);水印的内容,字符串时写数据,图片时写图片的地址;
 $picture = upload($_files['picture'],1,2,"img/watermark.gif");//上传文件,并返回上传后的文件路径名

}

?>

上传代码

 代码如下 复制代码

<form method="post" action="" enctype="multipart/form-data">
 <table border="1" cellpadding="5" cellspacing="0">
  <tr>
   <td>产品图片:</td>
   <td><input type="hidden" name="max_file_size" value="1024000">
    <input type="file" name="picture[]">
   </td>
  </tr>
  <tr>
   <td colspan="2" align="center"><input type="submit" value="提交"></td>
  </tr>
 </table>
</form>

[!--infotagslink--]

相关文章

  • php读取zip文件(删除文件,提取文件,增加文件)实例

    下面小编来给大家演示几个php操作zip文件的实例,我们可以读取zip包中指定文件与删除zip包中指定文件,下面来给大这介绍一下。 从zip压缩文件中提取文件 代...2016-11-25
  • Jupyter Notebook读取csv文件出现的问题及解决

    这篇文章主要介绍了JupyterNotebook读取csv文件出现的问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2023-01-06
  • Photoshop打开PSD文件空白怎么解决

    有时我们接受或下载到的PSD文件打开是空白的,那么我们要如何来解决这个 问题了,下面一聚教程小伙伴就为各位介绍Photoshop打开PSD文件空白解决办法。 1、如我们打开...2016-09-14
  • C#操作本地文件及保存文件到数据库的基本方法总结

    C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-25
  • cmd下过滤文件名称的两种方法

    这篇文章主要介绍了cmd下过滤文件名称的两种方法,需要的朋友可以参考下...2020-06-30
  • 解决python 使用openpyxl读写大文件的坑

    这篇文章主要介绍了解决python 使用openpyxl读写大文件的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-13
  • C#实现HTTP下载文件的方法

    这篇文章主要介绍了C#实现HTTP下载文件的方法,包括了HTTP通信的创建、本地文件的写入等,非常具有实用价值,需要的朋友可以参考下...2020-06-25
  • SpringBoot实现excel文件生成和下载

    这篇文章主要为大家详细介绍了SpringBoot实现excel文件生成和下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-02-09
  • php无刷新利用iframe实现页面无刷新上传文件(1/2)

    利用form表单的target属性和iframe 一、上传文件的一个php教程方法。 该方法接受一个$file参数,该参数为从客户端获取的$_files变量,返回重新命名后的文件名,如果上传失...2016-11-25
  • php批量替换内容或指定目录下所有文件内容

    要替换字符串中的内容我们只要利用php相关函数,如strstr,str_replace,正则表达式了,那么我们要替换目录所有文件的内容就需要先遍历目录再打开文件再利用上面讲的函数替...2016-11-25
  • PHP文件上传一些小收获

    又码了一个周末的代码,这次在做一些关于文件上传的东西。(PHP UPLOAD)小有收获项目是一个BT种子列表,用户有权限上传自己的种子,然后配合BT TRACK服务器把种子的信息写出来...2016-11-25
  • AI源文件转photoshop图像变模糊问题解决教程

    今天小编在这里就来给photoshop的这一款软件的使用者们来说下AI源文件转photoshop图像变模糊问题的解决教程,各位想知道具体解决方法的使用者们,那么下面就快来跟着小编...2016-09-14
  • C++万能库头文件在vs中的安装步骤(图文)

    这篇文章主要介绍了C++万能库头文件在vs中的安装步骤(图文),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-23
  • Zend studio文件注释模板设置方法

    步骤:Window -> PHP -> Editor -> Templates,这里可以设置(增、删、改、导入等)管理你的模板。新建文件注释、函数注释、代码块等模板的实例新建模板,分别输入Name、Description、Patterna)文件注释Name: 3cfileDescriptio...2013-10-04
  • C#路径,文件,目录及IO常见操作汇总

    这篇文章主要介绍了C#路径,文件,目录及IO常见操作,较为详细的分析并汇总了C#关于路径,文件,目录及IO常见操作,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • php文件上传你必须知道的几点

    本篇文章主要说明的是与php文件上传的相关配置的知识点。PHP文件上传功能配置主要涉及php.ini配置文件中的upload_tmp_dir、upload_max_filesize、post_max_size等选项,下面一一说明。打开php.ini配置文件找到File Upl...2015-10-21
  • C#使用StreamWriter写入文件的方法

    这篇文章主要介绍了C#使用StreamWriter写入文件的方法,涉及C#中StreamWriter类操作文件的相关技巧,需要的朋友可以参考下...2020-06-25
  • ant design中upload组件上传大文件,显示进度条进度的实例

    这篇文章主要介绍了ant design中upload组件上传大文件,显示进度条进度的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-10-29
  • php实现文件下载实例分享

    举一个案例:复制代码 代码如下:<?phpclass Downfile { function downserver($file_name){$file_path = "./img/".$file_name;//转码,文件名转为gb2312解决中文乱码$file_name = iconv("utf-8","gb2312",$file_name...2014-06-07
  • 查找php配置文件php.ini所在路径的二种方法

    通常php.ini的位置在:复制代码 代码如下:/etc目录下或/usr/local/lib目录下。如果你还是找不到php.ini或者找到了php.ini修改后不生效(其实是没找对),请使用如下办法:1.新建php文件,写入如下代码复制代码 代码如下:<?phpe...2014-05-31