我正在为我的网站制作图像裁剪功能。我向我的PHP脚本发送了一个裁剪图像尺寸(x,y,宽度,高度)的数组;
该脚本成功地在我的localhost上裁剪图像,但在推送到我的Web服务器时不起作用。
<?php
$array = json_decode(file_get_contents('php://input'));
$targ_w = 542;
$targ_h = 671;
$src = $array[0];
$img_r = imagecreatefromjpeg($src);
$dst_r = ImageCreateTrueColor( $targ_w, $targ_h );
imagecopyresampled($dst_r,$img_r,0,0,$array[1],$array[2],
$targ_w,$targ_h,$array[3],$array[4]);
$time = time();
if (imagejpeg($dst_r, 'temp_crops/temp_'.$time.'.jpg'))
echo "made it";
else
echo "didnt make it :(";
//echo $time;
?>
AJAX Post:
$('#crop_modal').on('hidden.bs.modal', function () {
var array = [$('#profile_preview').attr('src'), $('#x').val(), $('#y').val(), $('#w').val(), $('#h').val()];
if (checkCoords()) {
$.ajax({
url : '../../application/views/poster/crop.php',
type: 'POST',
data : JSON.stringify(array),
success: function(data) {
console.log(data)
$('#profile_preview').attr('src', '../../application/views/poster/temp_crops/temp_'+data+".jpg");
$('#final_img_src').val('temp_'+data+'.jpg');
}
});
}
});
本地主机响应为:made it
。
Web服务器响应为:didnt make it :(
。
任何人都可以帮助我并告诉我为什么这不起作用?谢谢!
答案 0 :(得分:0)
检查GD库 - 在脚本中使用if(!function_exists('imagejpeg'))... 否则错误日志可能在/ var / log / httpd /
中答案 1 :(得分:0)
该错误表示您的PHP脚本无权写入服务器上的该位置。使用您的FTP软件CHMOD(更改权限)以允许写入您尝试存储这些目录的目录。除非您的webhost已禁止PHP在本地写入文件,否则应该这样做(在这种情况下,您应该与他们交谈)并查看可用的选项。