1

私は画像をアップロードし、その画像を別のフォルダに保存しましたが、それは正常に機能しました. image2.jpg など。私のコードは

<?php
       $name = $_FILES['uploaded']['name'];
       $actual_name = pathinfo($name,PATHINFO_FILENAME);
       $original_name = $actual_name;
       $extension = pathinfo($name, PATHINFO_EXTENSION);

      $i = 1;
      while(file_exists('upload/'.$actual_name.".".$extension))
        {       
           $actual_name = (string)$original_name.$i;
           $name = $actual_name.".".$extension;
           $i++;
          /* code for uploading */

  }

   ?>

このコードを使用すると、image.jpgを2回アップロードするとファイル名をimage1.jpgのみに変更できますが、3回目にimage.jpgをアップロードすると、image3.jpgとして名前が変更されません。問題はループの周りにあると思いますそれを解決するのに役立つかどうかわかりません。前もって感謝します。

4

3 に答える 3

0

アップロードごとに $i が 1 に初期化されるため、ファイルが存在する場合は image2.jpg として保存され、次のアップロードでもこれが繰り返されます。ディレクトリに同じファイル名のループが存在し、$i をインクリメントして、アップロードされたファイルを移動する

于 2013-09-07T07:13:38.813 に答える