Php Image Magick正在将文件写入文件夹

Php Image Magick正在将文件写入文件夹,php,imagemagick,ubuntu-14.04,Php,Imagemagick,Ubuntu 14.04,我尝试使用Image Magick将文件写入特定位置,并使用uniqid()提供唯一的文件名(因为我希望上载许多图像) 以下是我到目前为止的情况: $targetdir = '/var/www/html/uploads/'; $targetfile = basename($_FILES["image"]["name"]); move_uploaded_file($targetfile,$targetdir); $image = new Imagick($_FILES['image']['tm

我尝试使用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格式

我正在使用Ubuntu14.04和一些必要的图像代理

我收到的错误是:

 Call to a member function writeImageFile() on a non-object
它使用变量$targetdir-但是根据php.net文档,writeImageFile应该有一个目标目录来写入图像

谢谢您抽出时间

试着打电话

$image->writeImage($targetdir.$uid.".jpg"); 
而不是

$_FILES['image']->writeImageFile($targetdir);

您不能将文件名(应该是字符串)设置为
uniquid()
-的结果,这是一个数字。我该如何为图像指定唯一的ID?我已经删除了那行代码,错误不会改变类似于
$uniquename=sprintf(“%d.jpg”,uniqid())立即解决问题,救生员!