php和将图像移动到新文件夹

时间:2011-06-29 19:10:40

标签: php image copy directory rename

我的templates文件夹中有一个图像,该图像是使用带有背景模板.jpg(存储在同一文件夹中)的php和从表单提交的一些文本制作的。它在此文件夹中保存为jpg。我想将php构造的图像复制到文件夹uploads,然后将其重命名为image451.jpg,或者任何id号。我想我应该使用copy()rename() php函数,但我不能让它们工作。我该怎么做?

2 个答案:

答案 0 :(得分:3)

您需要确保您的Web服务器具有您希望它们驻留的uploads目录的写访问权。然后你可以这样做:

if (!rename("oldfilename.jpg", "/path/to/uploads/image451.jpg"))
{
  echo "oops, something went wrong moving your file.";
}

我们不知道您正在运行哪个服务器平台,所以我不能具体说明如何检查目录写入权限,除非您将该信息添加到您的问题中。

答案 1 :(得分:2)

在尝试移动新文件之前,您应该测试目的地是否可写。

$dest_dir = "/path/to/uploads/";
$src_file = "path/to/orig/file.jpg";
if (is_writeable($dest_dir)) {
    $dest_file = $dest_dir . DIRECTORY_SEPARATOR . basename($src);
    if (false == rename($src, $dest_file)) {
        trigger_error('Could not move file', E_USER_ERROR);
    }
}
else {
    trigger_error('Destination dir is not writeable', E_USER_WARNING);
}