获取提交数据
$file = $request->file('_file_');
PSD 文件路径
$psdFilePath = 'path_to_your_psd_file.psd';
验证文件类型
$file_name = time() . '_' . rand(1000, 9999) . '.' . $file_ext;
保存文件
$save_path = public_path($file_config['save_folder'] . $file_name);
移动文件
$file->move(public_path($file_config['save_folder']), $file_name);
使用 Imagick 将 PSD 文件转换为 PNG
$im = new Imagick($save_path);
$num_layers = $im->getNumberImages();
for ($i = 0; $i < $num_layers; ++$i) {
$im->setIteratorIndex($i);
$pagedata = $im->getImagePage();
$path = public_path("uploads/") . time() . $i . '.png';
$im->writeImage($path); // 导出所有图层到单独的png文件
}
你可以根据需要进一步使用 Imagick 对转换后的 PNG 文件进行各种操作,如调整大小、裁剪、添加滤镜等。记得在使用 Imagick 之前确保已经安装了 Imagick PHP 扩展。
这文章喜欢吗,点赞,收藏