導航:首頁 > 文件處理 > php壓縮源碼

php壓縮源碼

發布時間:2022-05-27 00:22:46

㈠ 如何壓縮已上傳的伺服器中的圖片,有沒有好用的php頁面源碼

你的伺服器是什麼系統? WINDOWS還是LINUX?

WINDOWS的話你可以另外開發一個軟體放在伺服器上,實時監測是否有新的圖片上傳上來,有的話你就執行圖片的大小尺寸或者圖片畫質的壓縮,當然你的軟體也可以通過訪問你的PHP程序來完成圖片壓縮。

LINUX系統的話,可以寫一個常駐腳本,實時監控你的圖片,所以發現圖片文件超過指定大小的話,也執行圖片大小和尺寸壓縮的,當然也能通過調用PHP來執行。

以下是一段PHP的圖片壓縮代碼:

//縮放圖片
function mt($srcFile,$dstFile,$max_width=200,$max_height=150,$imgQuality=90){
$data=@getimagesize($srcFile);
if($data[0]<=$data[1] and $data[1]>=$max_height){
$height=$max_height;
$width=intval($height*$data[0]/$data[1]);
}
if($data[0]>=$data[1] and $data[0]>=$max_width){
$width=$max_width;
$height=intval($width*$data[1]/$data[0]);
}
if($height>$max_height){
$height=$max_height;
$width=intval($height*$data[0]/$data[1]);
}
if($data[0]<$max_width and $data[1]<$max_height){
$width=$data[0];
$height=$data[1];
}
switch($data[2]){
case 1:
$im=@imagecreatefromgif($srcFile);
break;
case 2:
$im=@imagecreatefromjpeg($srcFile);
break;
case 3:
$im=@imagecreatefrompng($srcFile);
break;
}
$srcW=@imagesx($im);
$srcH=@imagesy($im);
$ni=@imagecreatetruecolor($width,$height);
@imageresampled($ni,$im,0,0,0,0,$width,$height,$srcW,$srcH);
switch($data[2]){
case 'gif':@imagepng($ni,$dstFile, $imgQuality); break;
case 'jpeg':@imagejpeg($ni,$dstFile, $imgQuality); break;
case 'png':@imagepng($ni,$dstFile, $imgQuality); break;
default:@imagejpeg($ni,$dstFile, $imgQuality); break;
}
}

㈡ 如何用php壓縮html代碼並輸出

第一步,你需要對php的設置如下:
php.ini: output_buffering = Off output_handler = ob_gzhandler zlib.output_compression = Off zlib.output_compression_level = -1

第二步,你需要在apache下增加如下設置:

AddOutputFilter DEFLATE html php js css

這樣就可以對html php js css進行gzip壓縮了。

第三步,你需要使用如下php壓縮html並輸出到客戶端的函數:

function compress_html($string) { return ltrim(rtrim(preg_replace(array("/> *([^ ]*) *</","//","'/\*[^*]*\*/'","/\r\n/","/\n/","/\t/",'/>[ ]+</'), array(">\\1<",'','','','','','><'),$string))); }

上面的這個正則表達式,很強大的哦,經過我本人親自測試可使用。
通過以上方法,你就可以將你的html代碼壓縮然後輸出給客戶端了。不信你可以查看源代碼,就是一行,網頁瞬間壓縮很小。

㈢ PHP等比例壓縮圖片的實例代碼

具體代碼如下所示:
/**
*
desription
壓縮圖片
*
@param
sting
$imgsrc
圖片路徑
*
@param
string
$imgdst
壓縮後保存路徑
*/
public
function
compressedImage($imgsrc,
$imgdst)
{
list($width,
$height,
$type)
=
getimagesize($imgsrc);
$new_width
=
$width;//壓縮後的圖片寬
$new_height
=
$height;//壓縮後的圖片高
if($width
>=
600){
$per
=
600
/
$width;//計算比例
$new_width
=
$width
*
$per;
$new_height
=
$height
*
$per;
}
switch
($type)
{
case
1:
$giftype
=
check_gifcartoon($imgsrc);
if
($giftype)
{
header('Content-Type:image/gif');
$image_wp
=
imagecreatetruecolor($new_width,
$new_height);
$image
=
imagecreatefromgif($imgsrc);
imageresampled($image_wp,
$image,
0,
0,
0,
0,
$new_width,
$new_height,
$width,
$height);
//90代表的是質量、壓縮圖片容量大小
imagejpeg($image_wp,
$imgdst,
90);
imagedestroy($image_wp);
imagedestroy($image);
}
break;
case
2:
header('Content-Type:image/jpeg');
$image_wp
=
imagecreatetruecolor($new_width,
$new_height);
$image
=
imagecreatefromjpeg($imgsrc);
imageresampled($image_wp,
$image,
0,
0,
0,
0,
$new_width,
$new_height,
$width,
$height);
//90代表的是質量、壓縮圖片容量大小
imagejpeg($image_wp,
$imgdst,
90);
imagedestroy($image_wp);
imagedestroy($image);
break;
case
3:
header('Content-Type:image/png');
$image_wp
=
imagecreatetruecolor($new_width,
$new_height);
$image
=
imagecreatefrompng($imgsrc);
imageresampled($image_wp,
$image,
0,
0,
0,
0,
$new_width,
$new_height,
$width,
$height);
//90代表的是質量、壓縮圖片容量大小
imagejpeg($image_wp,
$imgdst,
90);
imagedestroy($image_wp);
imagedestroy($image);
break;
}
}
總結
以上所述是小編給大家介紹的PHP等比例壓縮圖片的實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
您可能感興趣的文章:php中10個不同等級壓縮優化圖片操作示例PHP
實現等比壓縮圖片尺寸和大小實例代碼php
gd等比例縮放壓縮圖片函數基於PHP實現等比壓縮圖片大小php上傳圖片並壓縮的實現方法PHP實現圖片上傳並壓縮PHP實現圖片壓縮的兩則實例php使用imagick模塊實現圖片縮放、裁剪、壓縮示例

㈣ 求php壓縮解壓rar和zip類源碼

不用寫,rar演算法是有專利權的

RAR壓縮演算法是RARLab的專利,其它軟體要使用或自己實現RAR演算法的實作,都是要向RARLab申請許可或交錢的

zip演算法php有自帶的函數
====>
需求
PHP 4
The bundled PHP 4 version requires » ZZIPlib, by Guido Draheim, version 0.10.6 or later

PHP 5.2.0 or later
This extension uses the functions of » zlib by Jean-loup Gailly and Mark Adler.
=====>
所以用RAR只有通過命令行調用已經安裝的rar程序實現打包,效果是一樣的.具體調用方法參考各自軟體說明.winrar也能用命令行調用,請看http://ke..com/view/2345.htm

㈤ PHP的源碼包是什麼php的zip壓縮包呢php的windows安裝包呢

源碼包是一些C程序,編譯後得到PHP.EXE等可以使用的程序,一般我們都不要這個,骨灰級玩家才用。

ZIP包最好,就是所謂的綠色、免安裝,任意解壓縮到一個文件夾就可以了。

還有一種是MSI安裝包,許多人喜歡這個,滑鼠雙擊之後,會不斷的「下一步」完成安裝和設置,初學者喜歡這個。

你編寫的代碼是不可能編譯為HTML的,因為HTML是靜態固定的,而PHP的魅力是動態網頁。

㈥ 請教php源碼加密及解密問題

用dw編輯器自帶的加密工具,或者自己寫js加密解密腳本

㈦ 有沒有PHP大佬,我這邊有個系統的源碼壓縮包,怎麼進行運行,我用的環境配置是wampserver

解壓這個壓縮包,把它放到www項目目錄裡面,然後用localhost訪問這個項目的目錄名就可以了,如果要專業點的話,可以配置個虛擬域名或者ip來訪問這個項目

㈧ PHP中給源代碼加密的幾種方法

<?php
function encode_file_contents($filename) {
$type=strtolower(substr(strrchr($filename,'.'),1));
if ('php' == $type && is_file($filename) && is_writable($filename)) { // 如果是PHP文件 並且可寫 則進行壓縮編碼
$contents = file_get_contents($filename); // 判斷文件是否已經被編碼處理
$contents = php_strip_whitespace($filename);

// 去除PHP頭部和尾部標識
$headerPos = strpos($contents,'<?php');
$footerPos = strrpos($contents,'?>');
$contents = substr($contents, $headerPos + 5, $footerPos - $headerPos);
$encode = base64_encode(gzdeflate($contents)); // 開始編碼
$encode = '<?php'."\n eval(gzinflate(base64_decode("."'".$encode."'".")));\n\n?>";

return file_put_contents($filename, $encode);
}
return false;
}

//調用函數
$filename = 'dam.php';
encode_file_contents($filename);
echo "OK,加密完成!"
?>

<?php

function RandAbc($length = "") { // 返回隨機字元串
$str = "";
return str_shuffle($str);
}

$filename = 'index.php'; //要加密的文件
$T_k1 = RandAbc(); //隨機密匙1
$T_k2 = RandAbc(); //隨機密匙2
$vstr = file_get_contents($filename);
$v1 = base64_encode($vstr);
$c = strtr($v1, $T_k1, $T_k2); //根據密匙替換對應字元。
$c = $T_k1.$T_k2.$c;
$q1 = "O00O0O";
$q2 = "O0O000";
$q3 = "O0OO00";
$q4 = "OO0O00";
$q5 = "OO0000";
$q6 = "O00OO0";
$s = '$'.$q6.'=urldecode("%6E1%7A%62%2F%6D%615%5C%76%740%6928%2D%70%78%75%71%79%2A6%6C%72%6B%64%679%5F%65%68%63%73%77%6F4%2B%6637%6A");$'.$q1.'=$'.$q6.'{3}.$'.$q6.'{6}.$'.$q6.'{33}.$'.$q6.'{30};$'.$q3.'=$'.$q6.'{33}.$'.$q6.'{10}.$'.$q6.'{24}.$'.$q6.'{10}.$'.$q6.'{24};$'.$q4.'=$'.$q3.'{0}.$'.$q6.'{18}.$'.$q6.'{3}.$'.$q3.'{0}.$'.$q3.'{1}.$'.$q6.'{24};$'.$q5.'=$'.$q6.'{7}.$'.$q6.'{13};$'.$q1.'.=$'.$q6.'{22}.$'.$q6.'{36}.$'.$q6.'{29}.$'.$q6.'{26}.$'.$q6.'{30}.$'.$q6.'{32}.$'.$q6.'{35}.$'.$q6.'{26}.$'.$q6.'{30};eval($'.$q1.'("'.base64_encode('$'.$q2.'="'.$c.'";eval(\'?>\'.$'.$q1.'($'.$q3.'($'.$q4.'($'.$q2.',$'.$q5.'*2),$'.$q4.'($'.$q2.',$'.$q5.',$'.$q5.'),$'.$q4.'($'

㈨ 如何使用 PHP 輸出壓縮的 HTML 代碼

function compressHtml($string) {
$matches = array();
preg_match_all('/(<(?:pre|code)>.+?<\/(?:pre|code)>)+/is', $string, $matches);
foreach ((array)$matches[1] as $k => $v) {
$string = str_replace($v, "#{$k}#", $string);
}
$string = str_replace("\r\n", '', $string);
//清除換行符
$string = str_replace("\n", '', $string);
//清除換行符
$string = str_replace("\t", '', $string);
//清除製表符
$pattern = array ("/> *([^ ]*) *</", "/[\s]+/", "/<!--[^!]*-->/", "/\" /", "/ \"/", "'/\*[^*]*\*/'");
$replace = array (">\\1<", " ", "", "\"", "\"", "");
$string = preg_replace($pattern, $replace, $string);

foreach ((array)$matches[1] as $k => $v) {
$string = str_replace("#{$k}#", $v, $string);
}
return $string;
}

思路就是提前替換出 pre, code 的塊內容.
在處理完之後, 再替換回來.

ps . 其實那個壓縮函數沒多大用途. nginx 直接開 gzip 壓縮就好了. 效率和性能比用php做要高.

㈩ PHP壓縮HTML代碼問題!!!

function compressHtml($string) {
$matches = array();
preg_match_all('/(<(?:pre|code)>.+?<\/(?:pre|code)>)+/is', $string, $matches);
foreach ((array)$matches[1] as $k => $v) {
$string = str_replace($v, "#{$k}#", $string);
}
$string = str_replace("\r\n", '', $string);
//清除換行符
$string = str_replace("\n", '', $string);
//清除換行符
$string = str_replace("\t", '', $string);
//清除製表符
$pattern = array ("/> *([^ ]*) *</", "/[\s]+/", "/<!--[^!]*-->/", "/\" /", "/ \"/", "'/\*[^*]*\*/'");
$replace = array (">\\1<", " ", "", "\"", "\"", "");
$string = preg_replace($pattern, $replace, $string);

foreach ((array)$matches[1] as $k => $v) {
$string = str_replace("#{$k}#", $v, $string);
}
return $string;
}

思路就是提前替換出 pre, code 的塊內容.
在處理完之後, 再替換回來.

ps . 其實那個壓縮函數沒多大用途. nginx 直接開 gzip 壓縮就好了. 效率和性能比用php做要高.

閱讀全文

與php壓縮源碼相關的資料

熱點內容
輸入法文件夾不能用 瀏覽:83
發單買多大的雲伺服器 瀏覽:331
特價雲伺服器如何注冊 瀏覽:296
安卓手機賬戶忘記密碼怎麼解鎖 瀏覽:821
如何用健身app確定一個特工 瀏覽:911
多級壓縮的原理 瀏覽:864
java項目開發案例視頻 瀏覽:70
文件夾快速查找表格不同內容 瀏覽:493
合並排序演算法java 瀏覽:920
如何將文件夾刪除的部分恢復 瀏覽:808
eco為什麼連接不上伺服器 瀏覽:294
查看linux的命令是 瀏覽:12
蘋果郵件伺服器地址 瀏覽:343
U盤超級加密3000時間 瀏覽:737
如何跟別人解釋什麼是伺服器 瀏覽:939
安卓11原生如何隱藏軟體 瀏覽:712
解壓清潔面部女士 瀏覽:856
美的變頻空調壓縮啟動一下報p1 瀏覽:472
濟南如何申請app多少錢 瀏覽:166
帶加密功能的u盤啟動盤製作 瀏覽:819