0

テキストファイルにファイル名のリストがあり、テキストファイルを読み込んで、値を使用してフォルダー内のファイルの名前を変更しています。テキスト ファイル内の名前の例。ファイル内の各名前は 2 つの画像 (表と裏) を表します。

12455 124788 12145

基本的に、多数の画像を両面スキャンしました。スキャナはそれに 1、2、3 などのデフォルト名を付け、ファイル上のコードに名前を変更したいので、コードをテキスト ファイルに入力し、名前変更プログラムを実行します。それに応じてファイルの名前を変更します

私が得ている問題は、フォルダー内の最後の2つの画像の名前を変更しているだけです。ここにコードがあります 助けてくれてありがとう

<?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 ファイル: 警告: rename(/xampp/htdocs/test/1.JPG,/xampp/htdocs/test/R1 - 00650 - front.JPG) [function.rename]: C でエラーはありません: \xampp\htdocs\change_name.php 行 33 最初のファイル番号: 00650

警告: rename(/xampp/htdocs/test/2.JPG,/xampp/htdocs/test/R1 - 00650 - back.JPG) [function.rename]: C:\xampp\htdocs\change_name.php にエラーはありません43 行目 2 番目のファイル yes: 00650

4

0 に答える 0