0

我有一个文本文件中的文件名列表,我一直在阅读文本文件并使用 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.php 中没有错误第 43 行第二个文件是:00650

4

0 回答 0