首页 > 编程技术 > php

php批量修改文件扩展名的代码

发布时间:2016-11-25 17:31

提供一个实例的php自定义函数,这是一个可以批量修改文件后缀名的php程序,有需要的朋友可以参考一下。
 代码如下 复制代码

<?php
function foreachDir($path){
$handle=opendir($path);
if($handle){
while (false !== ($file = readdir($handle))) {
if($file!="." && $file!='..'){
if(is_dir($path.$file)){
echo $path.$file."<br/>";
foreachDir($path.$file);
}else{
echo "--".$path."/".$file."<br/>";
$ext = strripos($file,'.');
$aaa = substr($file,0,$ext);
rename($path.'/'.$file,$path.'/'.$aaa.'.JPG');
// die();
}
}
}
return false;
}
}
foreachDir('D:xampphtdocsTNF2');
提供二款利用遍历批量修改文件的文件名的php代码,有需要的朋友可以参考一下。

实例一

 代码如下 复制代码
<?php
//利用PHP目录和文件函数遍历用户给出目录的所有的文件和文件夹,修改文件名称
function fRename($dirname){
 if(!is_dir($dirname)){
  echo "{$dirname}不是一个有效的目录!";
  exit();
 }
 $handle = opendir($dirname);
 while(($fn = readdir($handle))!==false){
  if($fn!='.'&&$fn!='..'){
   $curDir = $dirname.'/'.$fn;
   if(is_dir($curDir)){
    fRename($curDir);
   }
   else{
    $path = pathinfo($curDir);
    $newname = $path['dirname'].'/'.rand(0,100).'.'.$path['extension'];
    rename($curDir,$newname);   
    echo $curDir.'---'.$newname."<br>";   
   }
  }
 }
}
//给出一个目录名称调用函数
fRename('pl');
?>

实例二

 代码如下 复制代码

<?php
$dir = './';

if ($dh = opendir($dir)) {
    while (($file = readdir($dh)) !== false) {
        if ($file == "." || $file == "..") continue;
        if(filetype($dir . $file) == 'file')
        {
            $newfile = str_replace('[1]', '', $file);
            rename($dir . $file, $dir . $newfile);
        }
    }
    closedir($dh);
}

本文章给php初学者讲了两个php中实例的字符替换函数,一个是str_ireplace()一个是substr_replace()这两个函数都比较好用,有需要的参考一下。

字符串的替换技术可以通过以下两个常用函数实现:str_ireplace()函数和substr_replace()函数
str_ireplace()函数
使用新的子字符串替换原始字符串中被指定要替换的字符串,语法:
mixed str_ireplace(mixed search,mixed replace,mixed subject[,int&count])
参数search:必要参数,指定需要查找的字符串。
参数replace:必要参数,指定替换的值。
参数subject:必要参数,指定查找的范围。
参数count:可选参数,(带中括号的为可选参数),获取执行替换的数量。

实例:

 代码如下 复制代码
<?php
$str2=”某某”;
$str1=”**”;
$str=”某某网站的地址是www.111cn.net ,某某网站主要记录一些学习php的笔记和感想以及各种软件知识”;
echo str_ireplace($str2,$str1,$str);    //str2查找的值,str1替换的值,str范围
?>

在本例中,我们将演示带有数组和 count 变量的 str_ireplace() 函数:

 代码如下 复制代码

<?php
$arr = array("blue","red","green","yellow");
print_r(str_ireplace("red","pink",$arr,$i));
echo "Replacements: $i";
?>

输出:

Array
(
[0] => blue
[1] => pink
[2] => green
[3] => yellow
)

Replacements: 1例子 3

 代码如下 复制代码

<?php
$find = array("Hello","world");
$replace = array("B");
$arr = array("Hello","world","!");
print_r(str_ireplace($find,$replace,$arr));
?>输出:

Array
(
[0] => B
[1] =>
[2] => !
)


 

substr_replace()函数
对指定字符串中的部分字符串进行替换,语法:
string substr_replace(string str,string repl,int start,[int length])
参数str:指定要操作的原始字符串。
参数repl:必要参数,指定替换后的新字符串。
参数start:指定替换字符串开始的位置。
参数length:指定返回的字符串长度。
实例:

 代码如下 复制代码

<?php
substr_replace('eggs','x',-1,-1); //eggxs
substr_replace('eggs','x',-1,-2); //eggxs
substr_replace('eggs','x',-1,-2); //eggxs
?> Same as:
<?php
substr_replace('eggs','x',-1,0); //eggxs
?>

<?php
substr_replace('huevos','x',-2,-2); //huevxos
substr_replace('huevos','x',-2,-3); //huevxos
substr_replace('huevos','x',-2,-3); //huevxos
?> Same as:

<?php
substr_replace('huevos','x',-2,0); //huevxos
?>

更多详细内容请查看:http://www.111cn.net/phper/21/32954.htm

文章简单的介绍了关于php音乐文件播放时间代码,有需要的朋友可以仔细的看看哦。 // mp3, wav 或者其他 media player 支持的格式.
 代码如下 复制代码
$file = "C:/Users/Public/Music/Sample Music/Kalimba.mp3";
 
if (!file_exists($file)) {
    exit('媒体文件不存在.');
}
 
// 创建一个Windows Media Player接口
$player = new COM("WMPlayer.OCX");
$media  = $player->newMedia($file);
 
// 获取歌曲时间 (单位秒)
echo $media->duration.'秒';
很多时候需要用到js的escape函数来转换中文字符,可是用js转换后的字符怎么用php来转换回来呢,下面我就找到了两个很实用的函数。

GB2312编码:

 代码如下 复制代码

function unescape($str) {
$str = rawurldecode($str);
preg_match_all("/%u.{4}|&#x.{4};|&#d+;|.+/U",$str,$r);
$ar = $r[0];
foreach($ar as $k=>$v) {
if(substr($v,0,2) == "%u")
$ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,-4)));
elseif(substr($v,0,3) == "&#x")
$ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,3,-1)));
elseif(substr($v,0,2) == "&#") {
$ar[$k] = iconv("UCS-2","GBK",pack("n",substr($v,2,-1)));
}
}
return join("",$ar);
}


UTF8编码:

 代码如下 复制代码

function unescape($str){
$ret = '';
$len = strlen($str);
for ($i = 0; $i < $len; $i++){
if ($str[$i] == '%' && $str[$i+1] == 'u'){
$val = hexdec(substr($str, $i+2, 4));
if ($val < 0x7f) $ret .= chr($val);
else if($val < 0x800) $ret .= chr(0xc0|($val>>6)).chr(0x80|($val&0x3f));
else $ret .= chr(0xe0|($val>>12)).chr(0x80|(($val>>6)&0x3f)).chr(0x80|($val&0x3f));
$i += 5;
}
else if ($str[$i] == '%'){
$ret .= urldecode(substr($str, $i, 3));
$i += 2;
}
else $ret .= $str[$i];
}
return $ret;
}

标签:[!--infotagslink--]

您可能感兴趣的文章: