如何将转换后的图像文件从pdf保存到本地目录的jpg变量?当我们在php上传文件时,它是否有任何功能可以提供像$ _FILES这样的细节?
$target_dir="$media_dir/";
$target_file= $target_dir . basename($_FILES["file"]["name"]);
move_uploaded_file($_FILES['file']['tmp_name'], $target_file);
$image= new imagick();
$image->readImage($target_file);
$image->setImageFormat('jpg');
$imgname= basename($target_file,".pdf");
//converting pdf to jpg image and saving in local directory
foreach($imagick as $i=>$imagick)
{
$image->writeImage($target_dir . $imgname . ($i+1) ." of ". ".jpg");
}
$image->clear();
答案 0 :(得分:0)
这可能有助于开始:
要保存文件,请尝试使用file_put_contents(writeImage可以是flakey)。
然后在变量中使用转换后的图像(来自循环)并保存到数据库,您可以在完成保存/清除后将其完整的blob放入数组中以供使用。
$imageblobs = array();
foreach( ... ) {
file_put_contents($target_dir . $imgname . ($i+1) .'_of_'. $page .'.jpg', $image);
// $image is the Imagick object for the image you are saving
$imageblobs[] = $image->getImageBlob();
// OR you can skip putting it into an array, and just save direct to db right here
}
// now you can use each 'blob' variable you setup before you cleared it
foreach($imageblobs as $imageblob) {
// save $imageblob to db blob column
// or do other things with it
}
请注意,如果你有大量的图像,并且它们很大,这会占用php内存,所以请确保你有一些检查以防止超支。