PHP无法压缩图像

disho6za  于 2023-08-02  发布在  PHP
关注(0)|答案(1)|浏览(113)

我很难让这个工作:

if(isset($_POST['submit']) and isset($_GET['add']))
    {
    
       $category_image=rand(0,99999)."_".$_FILES['category_image']['name'];
       *************************issue here **************
       //Main Image
       $tpath1='images/'.$category_image;          
       $pic1=compress_image($_FILES["category_image"]["tmp_name"], $tpath1, 80);
     
        //Thumb Image 
       $thumbpath='images/thumbs/'.$category_image;     
       $thumb_pic1=create_thumb_image($tpath1,$thumbpath,'200','200');   
      ***********************************************************
          
       $data = array( 
                'category_name'  =>  $_POST['category_name'],
               'category_image'  =>  $category_image
                );      

        $qry = Insert('tbl_category',$data);    

        $cat_id=mysqli_insert_id($mysqli);  

       if(!is_dir('categories/'.$cat_id))
       {
    
            mkdir('categories/'.$cat_id, 0777);

            mkdir('categories/'.$cat_id.'/thumbs', 0777);
       }            

        $_SESSION['msg']="10";
 
        header( "Location:manage_category.php");
        exit;   
    }

字符串
我使用的是ubuntu 14.04,apache24 web服务器和PHP 5.6。
我正在使用下面的代码添加一个类别,但我收到一个包含content Html内容和500 HTTP响应代码的页面。我没有收到任何错误,但我认为错误来自compress_image方法,即:

function compress_image($source_url, $destination_url, $quality) 
{
  
    $info = getimagesize($source_url);

        if ($info['mime'] == 'image/jpeg')
              $image = imagecreatefromjpeg($source_url);

        elseif ($info['mime'] == 'image/gif')
              $image = imagecreatefromgif($source_url);

      elseif ($info['mime'] == 'image/png')
              $image = imagecreatefrompng($source_url);

        imagejpeg($image, $destination_url, $quality);

    return $destination_url;
}


我真的被困在这了你能帮我吗?

mpbci0fu

mpbci0fu1#

好吧在我给了文件夹权限到tmp文件夹

chown -R root:www-data /var/tmp

字符串
我仍然得到了问题,我启用了错误日志使用一个简单的尝试捕捉,我得到了错误

  • 调用未定义的函数imagecreatefromjpeg()*

我通过安装和启用gd模块解决了这个问题,因为我使用的是php5.6,所以我必须安装这个模块:

apt-get install php5.6-gd


我必须启用它:

extension=php_gd2.dll

相关问题