使用php重命名文件 - 文本文件中的文件名

时间:2013-10-02 15:12:10

标签: php rename

我在文本文件中有一个文件名列表,我一直在阅读文本文件,并使用vales重命名文件夹中的文件。文本文件中的名称示例,文件中的每个名称代表两个图像(正面和背面)。

12455 124788 12145

基本上我们有双面扫描了许多图像,扫描仪给它一个默认名称1,2,3等,我们想把它重命名为文件上的代码,所以代码输入到文本文件中重命名程序将相应地重命名文件

我得到的问题是它只重命名文件夹中的最后两个图像。这是代码感谢您的帮助

<?php
$second_file = "n";
$do_second = "n";
$i = 0;
$count = 0;
if ($handle = opendir('C:\xampp\htdocs\test')) {
$a = 0;
echo "Directory handle: $handle\n";
echo "Files:\n";

$file = fopen("num.txt","r") or exit ("Unable to open file num.txt");
while (!feof($file)){
    $data = fgets($file);
    $data2 = substr($data,0,9);
    $num[$i] = $data2;
    $i = $i + 1;
    $count = $count + 1;
}
$a = 0;
while (false !== ($file2 = readdir($handle))) {
$filename[$a] = $file2;
$a = $a + 1;}
sort($filename,SORT_NUMERIC);
$count2 = 0;
for($a=2; $a <sizeof($filename); $a++){
$value = $num[$count2];
$test = $filename[$a];
$temp2 = substr($filename[$a],0,1);
    if ($temp2 !== "."){
        if ($second_file =="n") {
            $temp = substr($filename[$a], 0, 1);
            if($temp !== "R") {
                        rename("/xampp/htdocs/test/$test","/xampp/htdocs/test/R1 - $value - front.JPG");
                $second_file = "y";
                $do_second = "n";
                print "First file no: $value <br>";
                                  }
                                }
        if ($second_file =="y") {
            $temp = substr($filename[$a], 0, 1);
            if($temp !== "R") {
             if($do_second =="y"){
                rename("/xampp/htdocs/test/$test","/xampp/htdocs/test/R1 - $value - back.JPG");
                $second_file = "n";
                $count2 = $count2 + 1;
                print "Second file yes: $value <br>";
                }
             if($do_second =="n"){
             $do_second = "y";
             }
                              }
                                }                   
                       }

                                          }                                           
fclose($file);  
closedir($handle);
print "Rename complete"; }

我一直收到警告,但没有重命名

  

目录句柄:资源ID#3文件:   警告:重命名(/xampp/htdocs/test/1.JPG,/xampp/htdocs/test/R1 - 00650 - front.JPG)[function.rename]:C:\ xampp \ htdocs \ change_name.php中没有错误第33行   第一个文件号:00650

     

警告:重命名(/xampp/htdocs/test/2.JPG,/xampp/htdocs/test/R1 - 00650 - back.JPG)[function.rename]:C:\ xampp \ htdocs \ change_name中没有错误第43行的.php   第二个文件是:00650

0 个答案:

没有答案