我尝试使用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应该有一个目标目录来写入图像。
感谢您的时间
答案 0 :(得分:2)
尝试拨打
$image->writeImage($targetdir.$uid.".jpg");
而不是
$_FILES['image']->writeImageFile($targetdir);