Php и перемещение изображений в новые папки

У меня есть изображение в моей папке templates, которая создается с использованием php с фоном .jpg (хранится в той же папке) и некоторым текстом, представленным в форме. Он сохраняется как jpg в этой папке. Я хочу скопировать созданное php образ в папку uploads, а затем переименуйте его как image451.jpg или независимо от номера идентификатора. Я думаю, что я должен использовать функции copy() и rename() php, но я не могу заставить их работать. Как это сделать?

2 ответа

Вам нужно будет убедиться, что ваш веб-сервер имеет доступ на запись в каталог uploads, где вы хотите, чтобы они находились. Тогда вы можете просто сделать:

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

Мы не знаем, на какой серверной платформе вы работаете, поэтому я не могу указать, как проверить права на запись в каталоге, если вы не добавите эту информацию в свой вопрос.


Вы должны проверить, может ли ваш пункт назначения быть записанным, прежде чем пытаться переместить туда новый файл.

$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);
}

licensed under cc by-sa 3.0 with attribution.