㈠ 如何壓縮已上傳的伺服器中的圖片,有沒有好用的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做要高.