php圖像編程(php繪製圖片)

本文目錄一覽:

php的介紹及Php有什麼優勢?

介紹: 

PHP 獨特的語法混合了 C、Java、Perl 以及 PHP 自創新的語法。 PHP安裝它可以比 CGI或者Perl更快速的執行動態網頁。用PHP做出的動態頁面與其他的編程語言相比,PHP是將程序嵌入到HTML文檔中去執行,執行效率比完全生成HTML標記的CGI要高許多;PHP還可以執行編譯後代碼,編譯可以達到加密和優化代碼運行,使代碼運行更快。PHP具有非常強大的功能,所有的CGI的功能PHP都能實現,而且支持幾乎所有流行的數據庫以及操作系統。最重要的是PHP可以用C、C++進行程序的擴展!

優勢:

1、開放的源代碼: 所有的PHP源代碼事實上都可以得到。 2、PHP是免費的。 和其它技術相比,PHP本身免費。 3、php的快捷性 程序開發快,運行快,技術本身學習快。嵌入於HTML:因為PHP可以被嵌入於HTML語言,它相對於其他語言,編輯簡單,實用性強,更適合初學者。 4、跨平台性強: 由於PHP是運行在服務器端的腳本,可以運行在UNIX、LINUX、WINDOWS下。 5、效率高: PHP消耗相當少的系統資源。 6、圖像處理: 用PHP動態創建圖像 7、面向對象: 在php4,php5 中,面向對象方面都有了很大的改進,現在php完全可以用來開發大型商業程序。 8、專業專註: PHP支持腳本語言為主,同為類C語言。

PHP網站上傳圖片自動壓縮,怎麼編程啊,求指

這裡會使用到三個文件:

connect.php:連接數據庫

test_upload.php:執行SQL語句

upload_img.php:上傳圖片並壓縮

三個文件代碼如下:

連接數據庫:connect.php

?php

$db_host = ”;

$db_user = ”;

$db_psw = ”;

$db_name = ”;

$db_port = ”;

$sqlconn=new mysqli($db_host,$db_user,$db_psw,$db_name);

$q=”set names utf8;”;

$result=$sqlconn-query($q);

if (mysqli_connect_errno()) {

 printf(“Connect failed: %s\n”, mysqli_connect_error());

 exit();

}

?

當然使用一些封裝的數據庫類也是可以的。

執行SQL語句:test_upload.php

?php

require (“connect.php”);

require (“upload_img.php”);

$real_img=$uploadfile; 

$small_img=$uploadfile_resize;

$insert_sql = “insert into img (real_img,small_img) values (?,?)”;

$result = $sqlconn – prepare($insert_sql);

$result – bind_param(“ss”, $real_img,$small_img);

$result – execute();

?

上傳圖片並壓縮:upload_img.php

?php 

//設置文件保存目錄

$uploaddir = “upfiles/”; 

//設置允許上傳文件的類型

$type=array(“jpg”,”gif”,”bmp”,”jpeg”,”png”); 

 

//獲取文件後綴名函數 

function fileext($filename) 

 return substr(strrchr($filename, ‘.’), 1); 

 

//生成隨機文件名函數 

function random($length) 

 $hash = ‘CR-‘; 

 $chars = ‘ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz’; 

 $max = strlen($chars) – 1; 

 mt_srand((double)microtime() * 1000000); 

 for($i = 0; $i  $length; $i++) 

 { 

  $hash .= $chars[mt_rand(0, $max)]; 

 } 

 return $hash; 

 

$a=strtolower(fileext($_FILES[‘filename’][‘name’])); 

 

//判斷文件類型 

if(!in_array(strtolower(fileext($_FILES[‘filename’][‘name’])),$type)) 

 $text=implode(“,”,$type); 

 $ret_code=3;//文件類型錯誤

 $page_result=$text;

 $retArray = array(‘ret_code’ = $ret_code,’page_result’=$page_result);

 $retJson = json_encode($retArray);

 echo $retJson;

 return;

 

//生成目標文件的文件名 

else

 $filename=explode(“.”,$_FILES[‘filename’][‘name’]); 

 do

 { 

  $filename[0]=random(10); //設置隨機數長度 

  $name=implode(“.”,$filename); 

  //$name1=$name.”.Mcncc”; 

  $uploadfile=$uploaddir.$name; 

 } 

 

 while(file_exists($uploadfile)); 

 

 if (move_uploaded_file($_FILES[‘filename’][‘tmp_name’],$uploadfile)) 

 { 

  if(is_uploaded_file($_FILES[‘filename’][‘tmp_name’])) 

  {

   $ret_code=1;//上傳失敗

  } 

 else

 {//上傳成功

  $ret_code=0;

 } 

 } 

$retArray = array(‘ret_code’ = $ret_code);

$retJson = json_encode($retArray);

echo $retJson;

}

 

//壓縮圖片

 

$uploaddir_resize=”upfiles_resize/”;

$uploadfile_resize=$uploaddir_resize.$name;

 

//$pic_width_max=120;

//$pic_height_max=90;

//以上與下面段注釋可以聯合使用,可以使圖片根據計算出來的比例壓縮

 

$file_type=$_FILES[“filename”][‘type’];

 

function ResizeImage($uploadfile,$maxwidth,$maxheight,$name)

{

 //取得當前圖片大小

 $width = imagesx($uploadfile);

 $height = imagesy($uploadfile);

 $i=0.5;

 //生成縮略圖的大小

 if(($width  $maxwidth) || ($height  $maxheight))

 {

  /*

  $widthratio = $maxwidth/$width;

  $heightratio = $maxheight/$height;

   

  if($widthratio  $heightratio)

  {

   $ratio = $widthratio;

  }

  else

  {

    $ratio = $heightratio;

  }

   

  $newwidth = $width * $ratio;

  $newheight = $height * $ratio;

  */

  $newwidth = $width * $i;

  $newheight = $height * $i;

  if(function_exists(“imagecopyresampled”))

  {

   $uploaddir_resize = imagecreatetruecolor($newwidth, $newheight);

   imagecopyresampled($uploaddir_resize, $uploadfile, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

  }

  else

  {

   $uploaddir_resize = imagecreate($newwidth, $newheight);

   imagecopyresized($uploaddir_resize, $uploadfile, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

  }

   

  ImageJpeg ($uploaddir_resize,$name);

  ImageDestroy ($uploaddir_resize);

 }

 else

 {

  ImageJpeg ($uploadfile,$name);

 }

}

 

 

 

if($_FILES[“filename”][‘size’])

{

 if($file_type == “image/pjpeg”||$file_type == “image/jpg”|$file_type == “image/jpeg”)

 {

  //$im = imagecreatefromjpeg($_FILES[$upload_input_name][‘tmp_name’]);

  $im = imagecreatefromjpeg($uploadfile);

 }

 elseif($file_type == “image/x-png”)

 {

  //$im = imagecreatefrompng($_FILES[$upload_input_name][‘tmp_name’]);

  $im = imagecreatefromjpeg($uploadfile);

 }

 elseif($file_type == “image/gif”)

 {

  //$im = imagecreatefromgif($_FILES[$upload_input_name][‘tmp_name’]);

  $im = imagecreatefromjpeg($uploadfile);

 }

 else//默認jpg

 {

  $im = imagecreatefromjpeg($uploadfile);

 }

 if($im)

 {

  ResizeImage($im,$pic_width_max,$pic_height_max,$uploadfile_resize);

  

  ImageDestroy ($im);

 }

?

請按照現實情況更改connect.php,test_upload.php中對應的信息。

望採納,謝謝。

為什麼有那麼多人選擇PHP編程語言

開放源代碼

所有的PHP源代碼事實上都可以得到。

免費性

和其它技術相比,PHP本身免費且是開源代碼。

快捷性

程序開發快,運行快,技術本身學習快。嵌入於HTML:因為PHP可以被嵌入於HTML語言,它相對於其他語言。編輯簡單,實用性強,更適合初學者。

跨平台性強

由於PHP是運行在服務器端的腳本,可以運行在UNIX、LINUX、WINDOWS、Mac OS、Android等平台

效率高

PHP消耗相當少的系統資源。

圖像處理

用PHP動態創建圖像,PHP圖像處理默認使用GD2。且也可以配置為使用image magick進行圖像處理。

面向對象

在php4,php5 中,面向對象方面都有了很大的改進,php完全可以用來開發大型商業程序。

專業專註

PHP支持腳本語言為主,同為類C語言。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/238228.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:10
下一篇 2024-12-12 12:10

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • 如何在Java中拼接OBJ格式的文件並生成完整的圖像

    OBJ格式是一種用於表示3D對象的標準格式,通常由一組頂點、面和紋理映射坐標組成。在本文中,我們將討論如何將多個OBJ文件拼接在一起,生成一個完整的3D模型。 一、讀取OBJ文件 …

    編程 2025-04-29
  • 用Python繪製酷炫圖片

    在本篇文章中,我們將展示如何使用Python繪製酷炫的圖片。 一、安裝Python繪圖庫 在使用Python繪製圖片之前,我們需要先安裝Python繪圖庫。Python有很多繪圖庫…

    編程 2025-04-29
  • 如何實現圖像粘貼到蒙版

    本文將從多個方面介紹圖像粘貼到蒙版的實現方法。 一、創建蒙版 首先,在HTML中創建一個蒙版元素,用於接收要粘貼的圖片。 <div id=”mask” style=”widt…

    編程 2025-04-29
  • 使用axios獲取返回圖片

    使用axios獲取返回圖片是Web開發中很常見的需求。本文將介紹如何使用axios獲取返回圖片,並從多個方面進行詳細闡述。 一、安裝axios 使用axios獲取返回圖片前,首先需…

    編程 2025-04-29
  • Python 圖片轉表格

    本文將詳細介紹如何使用Python將圖片轉為表格。大家平時在處理一些資料的時候難免會遇到圖片轉表格的需求。比如從PDF文檔中提取表格等場景。當然,這個功能也可以通過手動複製、粘貼,…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • Python緩存圖片的處理方式

    本文將從多個方面詳細闡述Python緩存圖片的處理方式,包括緩存原理、緩存框架、緩存策略、緩存更新和緩存清除等方面。 一、緩存原理 緩存是一種提高應用程序性能的技術,在網絡應用中流…

    編程 2025-04-29
  • Python如何抓取圖片數據

    Python是一門強大的編程語言,能夠輕鬆地進行各種數據抓取與處理。抓取圖片數據是一個非常常見的需求。在這篇文章中,我們將從多個方面介紹Python如何抓取圖片數據。 一、使用ur…

    編程 2025-04-29
  • Python圖像黑白反轉用法介紹

    本文將從多個方面詳細闡述Python圖像黑白反轉的方法和技巧。 一、Pillow模塊介紹 Pillow是Python的一個圖像處理模塊,可以進行圖片的裁剪、旋轉、縮放等操作。使用P…

    編程 2025-04-28

發表回復

登錄後才能評論