【问题标题】:Can not rename file (The system cannot find the file specified (code: 2))无法重命名文件(系统找不到指定的文件(代码:2))
【发布时间】:2021-07-02 03:11:36
【问题描述】:

我正在尝试编写重命名目录 (C:\BA\scrapers) 中文件的代码。在 cmd 中,系统会提示您输入要重命名的文件($filePointer),然后提示您输入要重命名的文件名($newFileName)。

我收到以下错误:系统找不到指定的文件(代码:2)

function renameFile(){
    $filePointer = rtrim(fgets(STDIN));
    echo "\nEnter new file name: ";
    $newFileName = rtrim(fgets(STDIN));
    if(!rename($filePointer, $newFileName)){
      echo ("$filePointer cannot be renamed due to an error");
    }
    else {
      rename($filePointer, $newFileName);
    }
}

我已经尝试指定要重命名的目录,但是我没有设法让它工作。我是初学者,所以请放轻松。

【问题讨论】:

    标签: php rename


    【解决方案1】:

    您正在重命名文件两次。在您将其重命名后

    if(!rename($filePointer, $newFileName)){
    

    重命名显然不存在

    else {
      rename($filePointer, $newFileName);
    }
    

    删除else

    【讨论】:

      【解决方案2】:

      你必须写这样的东西才能让它工作。

      <?php
      function renameFile(){
          
          $myPath="C:\\BA\\scrapers\\";
          echo "\nEnter old file name: ";
          $filePointer =$myPath . rtrim(fgets(STDIN));
          echo "\nEnter new file name: ";
          $newFileName = $myPath .rtrim(fgets(STDIN));
          if(!rename($filePointer, $newFileName)){
            echo ("$filePointer cannot be renamed due to an error");
          }
          else {
            echo "Successfully renamed";
          }
      }
      ?>
      

      【讨论】:

        猜你喜欢
        • 2014-02-13
        • 2023-03-16
        • 1970-01-01
        • 2013-11-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多