我有一个脚本,它的作用是将图像转换为 .jpg 格式。这是实现该功能的代码:
$uploadDir = $_SERVER['DOCUMENT_ROOT'] . "/blogimages/";
$tempFile = ereg_replace("'", "_", basename($_FILES['newsImg']['name']));
$uploadFile = $uploadDir . $tempFile;
move_uploaded_file($_FILES['newsImg']['tmp_name'], $uploadFile);
$newPic = $uploadDir . $blogID . ".jpg";
if(file_exists($newPic)){
unlink($newPic);
}
$convertString = "$IM -strip $uploadFile $newPic";
echo "<!-- $convertString -->";
exec($convertString);
可以看到,我把最终字符串放在了HTML注释中,这样我就可以看到正在执行的内容。发生的情况是创建了转换后的图像,但它是一个0字节的图像。因此实际上没有将任何数据写入文件。为了确保convert正常工作,我从html注释中复制并粘贴了convert字符串到命令行中,它完全正常工作。它似乎只在PHP exec中出现问题。你有什么想法吗?