【问题标题】:rename file names php重命名文件名 php
【发布时间】:2014-01-20 11:26:33
【问题描述】:

我需要使用 php 交换文件名。例如我有两个文件,第一个文件:image1.jpg 和第二个文件:image2.jpg。我想交换文件名。这样第一个文件将命名为 image2.jpg,第二个文件将命名为 image1.jpg;

我的失败尝试:

function swap($name1, $name2)
{
    $tempName1 = "temporary1";
    $tempName2 = "temporary2";
    myRename($name1, $tempName1);
    myRename($name2, $tempName2);
    myRename($tempName1, $name2);
    myRename($tempName2, $name1);
}

function myRename($oldTitle, $newTitle)
{
    $oldDirectory = "images/".$oldTitle.".jpg";
    $newDirectory = "images/".$newTitle.".jpg";
    rename($oldDirectory, $newDirectory);
}

我怎样才能成功交换名字?

【问题讨论】:

  • 感谢您的回复。我发现了实际问题,重命名工作正常,但没有我需要的那么快。我解决这个问题的方法是复制文件删除原件,然后用新名称复制它们

标签: php rename file-rename


【解决方案1】:
<?php
rename('images/image1.jpg','images/tmp.jpg');
rename('images/image2.jpg','images/image1.jpg');
rename('images/tmp.jpg','images/image2.jpg');

【讨论】:

    【解决方案2】:
    function myRename($oldTitle, $newTitle)
    {
    $fullpath="C:\HD path to that file";//sth like that for full path
        $oldDirectory = $fullpath."images/".$oldTitle.".jpg";
        $newDirectory = $fullpath."images/".$newTitle.".jpg";
        rename($oldDirectory, $newDirectory);
    }
    

    使用absolute or relative path 重命名

    【讨论】:

      【解决方案3】:

      这样的事情会解决你的问题:

      swap($file1, $file2, 'test/');
      
      function swap ($name1, $name2, $dir = '') {
          rename($name1, $name1 . '-tmp');
          rename($name2, $name2 . '-tmp');
          rename($name2 . '-tmp', $dir . $name1);
          rename($name1 . '-tmp', $dir . $name2);
      }
      

      希望这会有所帮助!

      【讨论】:

      • 该目录也需要在函数执行前存在——可以添加代码检查,如果不存在则创建
      猜你喜欢
      • 2014-09-09
      • 2015-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-18
      • 1970-01-01
      • 2017-01-13
      相关资源
      最近更新 更多