我现在已经把头发拉了几个小时,我正在为magento制作一个图像裁剪模块,它在我的本地主机上工作正常但是当我在线上传文件时它不起作用! gd会创建一个黑色图像。
我试过一切..检查权限,文件路径,它没有显示任何错误..
这是创建图像的代码
<?php
$id = $_GET['id'];
$crop = $_GET['crop'];
$token = $_GET['token'];
if ($id !== '' && $crop !== '') {
$crop = explode(":", $crop);
$product = Mage::getModel('catalog/product')->load($id);
$file = $product->getMediaConfig()->getMediaUrl($product->getImage());
$src = $file;
$targ_w = $crop[0];
$targ_h = $crop[1];
$img_r = imagecreatefromjpeg($src);
$dst_r = imagecreatetruecolor( $crop[6], $crop[7] );
imagecopyresampled($dst_r,$img_r, 0,0, $crop[2],$crop[3], $crop[6],$crop[7], $crop[6],$crop[7]);
$dir = '../truecolor/images/'.$id.'/test/';
if (!file_exists($dir)) {
mkdir($dir, 0777);
}
$filename = '../truecolor/images/'.$id.'/test/sw_'.$id.'.jpg';
if (file_exists($filename)) {
unlink($filename);
}
imagejpeg($dst_r,$filename,100);
?>
真的很感激任何帮助...
解决:
好的,我想通了,我觉得有点愚蠢:)
我正在处理的服务器有一个http身份验证,这阻止了图像被php文件加载..
现在运作正常!