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