Я пытаюсь использовать Image Magick для записи файла в определенное место и использовать uniqid(), чтобы дать уникальное имя файла (как я ожидаю, многие изображения будут загружены).Изображение Магическая запись файла в папку
Вот что я до сих пор:
$targetdir = '/var/www/html/uploads/';
$targetfile = basename($_FILES["image"]["name"]);
move_uploaded_file($targetfile,$targetdir);
$image = new Imagick($_FILES['image']['tmp_name']);
$uid = uniqid();
$image->setImageColorspace(imagick::COLORSPACE_RGB);
$image->setImageFormat("jpeg");
$image->scaleImage(80,80);
$image->setFilename($uid);
$_FILES['image']->writeImageFile($targetdir);
Файл первоначально JPEG.
Я использую Ubuntu 14.04 с необязательными делегатами для изображений.
Ошибки Я ПОЛУЧАТЬ является:
Call to a member function writeImageFile() on a non-object
, который использует переменный $ TargetDir - однако, по php.net документации writeImageFile должен иметь целевой каталог для записи изображения.
Спасибо за ваше время
Вы не можете установить имя файла - который должен быть строкой - в результате 'uniquid () '- это число. –
Как я могу сделать изображение уникальным ID? Я удалил эту строку кода, и ошибка не изменилась. – PublicDisplayName
Что-то вроде '$ uniquename = sprintf ("% d.jpg ", uniqid());' –