php自動壓縮-九游会j9娱乐平台
❶ 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
$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';