<?php 
@header('Content-type: text/html;charset=UTF-8');
$zoom_w = $_POST["Data"]["ZOOM_W"];
$zoom_h = $_POST["Data"]["ZOOM_H"];$cro_x = $_POST["Data"]["CRO_X"];
$cro_y = $_POST["Data"]["CRO_Y"];
$cro_w = $_POST["Data"]["CRO_W"];
$cro_h = $_POST["Data"]["CRO_H"];$pt_iid = $_POST["Data"]["ImageID"];
$pt_alt = $_POST["Data"]["Alt"];
$pt_path = $_POST["Data"]["Path"];
$pt_aid = $_POST["Data"]["AlbumID"];
$pt_ctime = $_POST["Data"]["CreateTime"];//以上post变量接收全部正确,错误代码从下行开始。
$src_img = imagecreatefromjpeg($pt_path);
$src_w = imagesx($src_img);
$src_h = imagesy($src_img);echo "VVV";
$zoom_img = imagecreatetruecolor($zoom_w,$zoom_h);
imagecopyresampled($zoom_img,$src_img,0,0,0,0,$zoom_w,$zoom_h,$src_w,$src_h);
$cro_img = imagecreatetruecolor($cro_w,$cro_h);
imagecopy($cro_img,$zoom_img,0,0,$cro_x,$cro_y,$cro_w,$cro_h);imagejpeg($cro_img, $pt_path);imagedestroy($src_img);
imagedestroy($cro_img);
imagedestroy($zoom_img);$str_sql.="Replace into Images Values ('".$pt_iid."','".$pt_alt."','".$pt_path."','".$cro_w."','".$cro_h."','".abs(filesize($pt_path))."','".$pt_aid."','".$pt_ctime."');";mysql_query($str_sql);
 
mysql_close();  ?>递交到这个页面,要等好久才会给出如下错误,被载入的图片为1024x768,jpg图片,860KB.
----错误代码-----
Warning: imagecreatefromjpeg(http://localhost/Images/2012082519582800000030.jpg) [function.imagecreatefromjpeg]: failed to open stream: �������ӷ���һ��ʱ����û����ȷ�

解决方案 »

  1.   

    你的程序设计的千奇百怪。
    1. imagecreatefromjpeg(http://localhost/Images/2012082519582800000030.jpg)
    读取的同是本地文件,但却还要经过web服务器这关,web服务器对这个是可以有下载速度限制的。
    2. 我没看见 mysql_connect();
    3. 因为没有循环,所以推断程序执行超时原因为1.或者也是你本机配置差,GD函数拖慢了运行速度
    4. header('Content-type: text/html;charset=UTF-8');
    这将告诉浏览器这是一个字符串流,然而实际却是二进制流。导致浏览器卡死,进而机器卡死(这事我干过)。
      

  2.   

    function ranger($url){
        $headers = array(
        "Range: bytes=0-9999"
        );
        $curl = curl_init($url);
        curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        return curl_exec($curl);
        curl_close($curl);
    }
    $aaa = ranger($pt_path);
    $bbb = imagecreatefromstring($aaa);
    $src_w = imagesx($bbb);
    $src_h = imagesy($bbb);