将保存的文件移动到PHP中的另一个目录

将保存的文件移动到PHP中的另一个目录,php,file,directory,move,Php,File,Directory,Move,以下是我的代码: /* Make directory if not existing */ $directory = "appicons/$artistid/$appid/"; if (!is_dir ($directory)) { $mode = 0777; mkdir($directory, $mode, true); } /* Resize Icon */ include('appicons.php'); if(file_exists(''. $arti

以下是我的代码:

 /* Make directory if not existing */

$directory = "appicons/$artistid/$appid/";
if (!is_dir ($directory)) 
{
     $mode = 0777;
     mkdir($directory, $mode, true);
}

 /* Resize Icon */
 include('appicons.php');

 if(file_exists(''. $artistid . '-' . $appid . '.png')){
    end(&$appicon);
    }else{

    $appicon = new SimpleImage();
    $appicon->load($icon);
    $appicon->resizeToWidth(128);
    $appicon->save(''. $artistid . '-' . $appid . '.png');

    }
$appicon将文件保存到我的网站的根目录中,格式为$appid-$artistid.png。我希望将该文件移动到正确的目录(格式为/appicons/$appid/$artistid/)


我看过move_uploaded_文件,但我不确定如何实现它,或者这是否是我应该使用的正确功能。我认为我应该编辑
$appicon->save('.$artistid.-'.$appid..png');
但我不确定该怎么做…

我想你要找的是:

$appicon->save($directory . $artistid . '-' . $appid . '.png'); 

首先,您的
$directory
变量未正确连接,您希望使用以下内容:

$directory = 'appicons/' . $artistid . '/' . $appid;
如果PNG文件只能保存到PHP脚本运行的路径,那么您需要先让它保存,然后再移动文件。如果是这种情况,那么PHP中的
rename()
函数将实现您想要的功能

$filename = $artistid . '-' . $appid . '.png';
if(file_exists($filename)) {
  rename($filename, $directory . '/' . $filename);
}

这会将png文件移动到指定的目录(即appicons/artistid/appid文件夹)。

为什么在
save()
参数前面不加任何前缀?
$appicon->save('.$artistid
)。