當前位置:九游会j9娱乐平台-九游ag登录中心网址 » 編程語言 » php自動壓縮

php自動壓縮-九游会j9娱乐平台

發布時間: 2024-11-14 20:03:48

php 怎把上傳的rar zip文件 自動解壓 用的是哪個函數 求高手指點 告急 謝謝 求源代碼

/**
* php在線壓縮/解壓實例
*/

date_default_timezone_set('prc');

$zip = new engine_compress_decompress();

if (isset($_post))
{
$sourcepath = ''; //默認位置

if (isset($_files['upfile'])) //上傳文件
{
$stmp = $zip->fileupload('upfile');
$sourcepath = $stmp['sourcefile'];
$upfileerror = $stmp['error'];
}
elseif (isset($_post['inputfile'])) //輸入目錄或者文件
{
$sourcepath = $_post['inputfile'];
}
elseif (isset($_post['decompresssourcefiles'])) //解壓縮提交
{
$isdecompress = $zip->decompress($_post['decompresssourcefiles'], $_post['topath']);
if (!empty($isdecompress['filelist']))
{
$href = '';
}

}

$filelist = $zip->filearray($sourcepath); //解壓縮文件列表

if (isset($_post['compressinputfileorfolder'])) //壓縮文件目錄或者文件輸入
{
$sourcepath = $_post['compressinputfileorfolder'];
$href = '';
$compressfilelist = $zip->compressfilearray($sourcepath); //壓縮文件列表
}
elseif ((isset($_post['selectcompressfilelist'])) && (isset($_post['compresssavefilename'])))
{
$compressfiles = $zip->compress($_post['selectcompressfilelist'], $_post['compresssavefilename']); //真實檢測
$iscompress = $zip->compilezipfile($compressfiles, $zip->savepath, 'all');
if (!empty($iscompress))
{
$href = '';
}
}
}

❷ php 如何將多張圖片壓縮下載到本地 ,詳細一點,有案例更好!!謝謝各位了

php的壓縮方式

$zip = zip_open("/tmp/test2.zip");

if ($zip) {
while ($zip_entry = zip_read($zip)) {
echo "name: " . zip_entry_name($zip_entry) . "\n";
echo "actual filesize: " . zip_entry_filesize($zip_entry) . "\n";
echo "compressed size: " . zip_entry_compressedsize($zip_entry) . "\n";
echo "compression method: " . zip_entry_compressionmethod($zip_entry) . "\n";

if (zip_entry_open($zip, $zip_entry, "r")) {
echo "file contents:\n";
$buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
echo "$buf\n";

zip_entry_close($zip_entry);
}
echo "\n";

}

zip_close($zip);

}
?>
用php下載多張圖片
set_time_limit(0);//設置php超時時間
$aimglist = array_unique($aimglist );
foreach($aimglist as $lists) {
file_put_contents(basename($lists), file_get_contents($lists));
}
?>

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

這里會使用到三個文件:

  • connect.php:連接資料庫

  • test_upload.php:執行sql語句

  • upload_img.php:上傳圖片並壓縮

三個文件代碼如下:
連接資料庫:connect.php

$db_host='';
$db_user='';
$db_psw='';
$db_name='';
$db_port='';
$sqlconn=newmysqli($db_host,$db_user,$db_psw,$db_name);
$q="setnamesutf8;";
$result=$sqlconn->query($q);
if(mysqli_connect_errno()){
printf("connectfailed:%s ",mysqli_connect_error());
exit();
}
?>

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

執行sql語句:test_upload.php

require("connect.php");
require("upload_img.php");
$real_img=$uploadfile;
$small_img=$uploadfile_resize;
$insert_sql="insertintoimg(real_img,small_img)values(?,?)";
$result=$sqlconn->prepare($insert_sql);
$result->bind_param("ss",$real_img,$small_img);
$result->execute();
?>

上傳圖片並壓縮:upload_img.php

//設置文件保存目錄
$uploaddir="upfiles/";
//設置允許上傳文件的類型
$type=array("jpg","gif","bmp","jpeg","png");

//獲取文件後綴名函數
functionfileext($filename)
{
returnsubstr(strrchr($filename,'.'),1);
}

//生成隨機文件名函數
functionrandom($length)
{
$hash='cr-';
$chars='';
$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'];

functionresizeimage($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("imageresampled"))
{
$uploaddir_resize=imagecreatetruecolor($newwidth,$newheight);
imageresampled($uploaddir_resize,$uploadfile,0,0,0,0,$newwidth,$newheight,$width,$height);
}
else
{
$uploaddir_resize=imagecreate($newwidth,$newheight);
imageresized($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如何壓縮一個文件夾裡面所有的文件到zip文件裡面

//函數:文件壓縮 //壓縮參數:需要壓縮的文件或文件夾(文件可為數組),壓縮後的zip文件名及存放路徑,壓縮類型1:文件夾2:文件,後續操作1:壓縮後下載;2:存放在伺服器上(默認為/@upload下) //壓縮文件夾示例:tozip("./","../".date("d-h-i-s").".zip",1,2); //壓縮文件示例: // $aaa=array("../1.txt","../2.txt"); // tozip($aaa,"../2.zip",2);functiontozip($path, $zipfile, $typ=1, $todo=1){//if(!is_writeable($path)){exit("文件夾不可寫!");}$path=str_ireplace("\\","/",($path));if(is_null($path) orempty($path) or!isset($path)){returnfalse;}if(is_null($zipfile) orempty($zipfile) or!isset($zipfile)){returnfalse;} include_once("inc/class_zip.php");$zip=newphpzip;if(substr($path,-1,1)=="/"){$path=substr($path,0, strlen($path)-1);} ob_end_clean();switch($typ){case"1":$zip-zipdir($path, $zipfile, $todo);break;case"2":$zip-zipfile($path,

❻ thinkphp 怎麼用程序自動判斷壓縮圖片的大小

直接使用thinkphp自帶的方法就能獲取了,你可以參考以下代碼!

$image=newthinkimage();
$image->open('./1.jpg');
$width=$image->width();//返回圖片的寬度
$height=$image->height();//返回圖片的高度
$type=$image->type();//返回圖片的類型
$mime=$image->mime();//返回圖片的mime類型
$size=$image->size();//返回圖片的尺寸數組0圖片寬度1圖片高度


原生php是這樣的:

//intfilesize(string$filename)

//輸出類似:somefile.txt:1024bytes

$filename='somefile.txt';
echo$filename.':'.filesize($filename).'bytes';
熱點內容
vb資料庫數組 發布:2024-11-19 09:23:40 瀏覽:827
安卓游戲數據保存在哪裡找 發布:2024-11-19 09:22:02 瀏覽:309
解壓出來的文件亂碼 發布:2024-11-19 09:15:40 瀏覽:939
北航ftp是多少 發布:2024-11-19 09:15:32 瀏覽:821
瀏覽保存密碼如何取消 發布:2024-11-19 09:10:17 瀏覽:89
安卓怎麼關簡訊重復提醒 發布:2024-11-19 09:02:00 瀏覽:635
html與php的區別 發布:2024-11-19 09:00:53 瀏覽:193
晚安密碼多少 發布:2024-11-19 09:00:51 瀏覽:945
易語言腳本模塊 發布:2024-11-19 09:00:44 瀏覽:484
經典矩陣c語言 發布:2024-11-19 08:56:23 瀏覽:268
网站地图