當前位置:首頁 » 編程語言 » php圖片本地化

php圖片本地化

發布時間: 2022-08-27 08:12:54

『壹』 php網路圖片本地化 原圖片轉換成本地化後的圖片

用網路的UEditor其中有個遠程圖片抓取交互,可以實現你的要求。

1、遠程抓取原理

圖片遠程抓取是指在插入本地域名之外的圖片鏈接地址時,由伺服器將這些外部圖片抓取到本地伺服器保存的一個功能。實現原理為在編輯器中向伺服器發送包含所有外域圖片地址的ajax請求,然後由伺服器在後端抓取保存後返回圖片地址給編輯器,再由編輯器完成外域地址和本地地址的替換工作。

//是否開啟遠程圖片抓取
catchRemoteImageEnable:true,

//處理遠程圖片抓取的地址
catcherUrl:URL+"server/submit/php/getRemoteImage.php",

//提交到後台遠程圖片uri合集的表單名
catchFieldName:"upFile",

//圖片修正地址,同imagePath
catcherPath:fixedImagePath,

//本地頂級域名,當開啟遠程圖片抓取時,除此之外的所有其它域名下的
//圖片都將被抓取到本地
localDomain:[".com","10.81.2.114"],

2、注意事項

遠程抓取功能是否開啟可在edicot_config.js中通過配置catchRemoteImageEnable參數實現。與這個功能相關的配置還包括了遠程抓取的處理程序地址,表單域名稱,本地域和「前後端修正地址」。遠程抓取處理程序實現了依據前端提交的地址列表(使用ue_separate_ue標示符進行分隔的字元串)進行圖片抓取,然後返回地址列表給客戶端的功能。

前後台交互數據格式樣例:(URL1,URL2,URL3,URL4)

URL1ue_separate_ueURL2ue_separate_ueURL3ue_separate_ueURL4

『貳』 php如何把圖片緩存到本地

正確設置Http Response Header中的Expires頭將有助於提高網頁訪問速度
我們的網站中往往包含大量的頁面組件,比如圖片、樣式表文件、JS腳本文件和Flash動畫。這些組件的變化頻率非常低,尤其是那些構成網站基本框架的組件,

幾乎不會發生變化。我們可以將這些變化率很低的組件看作靜態內容,利用IIS的內容過期機制和瀏覽器的本地緩存機制將它們在訪問者的電腦硬碟中保存一段時間。

當訪問者訪問你的網站時,如果這些存在本地的靜態內容沒有過期,瀏覽器會從本地硬碟中裝載,而不去向伺服器發出請求。

如果你使用Fiddler這樣的工具跟蹤網頁訪問,你會清楚地看到雖然只是訪問一個頁面,但是發出的Http請求和應答卻不止一個。網頁中的每張圖片,每個

JS腳本文件,每個CSS文件,都會引發一次請求和應答。因此如果想讓網頁的訪問速度快起來,減少Http的請求數量,降低從伺服器下載內容的次數是有效途徑。

而使用了內容過期機制後可以就實現這樣的目的,這就是使用內容過期機制的意義。

大多數的Web開發者都玩過IIS 6或IIS 7,但是又有多少人仔細觀察過HTTP Headers或HTTP Response Headers

『叄』 PHP將圖片存入資料庫

插入圖片和一般的數據沒什麼不同的,一般數據會了,傳圖片時候就用個move_uploaded_file改變下參數,主要是做這個的時候不要有負擔
以下供參考
<?

function upload_file($files,$folder)//上傳圖片
{
$file_tyle = $files['type'];
$file_type_arr = array('image/gif','image/x-png','image/jpg','image/pjpeg');
if(!in_array($file_tyle,$file_type_arr) )
{
exit('file type only can be: png,jpeg,jpg,gif');
}
$knamearray = explode(".",$files["name"]);
$kname = $knamearray[count($knamearray)-1];
$rand_str = date("ymdhis");
$file_name = $rand_str.".".$kname;
$savepath = "$folder/";
/*$savepath = "$folder/date_".date('YmdHis')."/";
if( !is_dir($savepath) ) mkdir($savepath);*/
$upfile = $savepath.$file_name;
if( !move_uploaded_file($files['tmp_name'],$upfile) )
{
exit('upload error, please check your file type: png,jpeg,jpg,gif');
}
return $file_name;//不要回傳值此行可注釋掉
}
?>

『肆』 php如何採集微信文章的同時獲取其中圖片的地址並下載本地化

給個簡單的例子,僅僅是獲取了遠程圖片哦

<?php
$url='';這是你的微信網址
$con=file_get_contents("$url");
$pattern="/<[img|IMG].*?src=['|"](.*?(?:[.gif|.jpg|.png]))['|"].*?[/]?>/";
preg_match_all($pattern,$con,$match);
for($i=0;$<count($match[1]);$i++){
$pic=file_get_content($match[1][$i]);
$name_arr=explode('/',$pic);
$n=count($name_arr);
file_put_content($name_arr[$n],$pic);
}

沒做測試,你測試一下吧

『伍』 請問php中如何調用本地圖片

你輸出圖片的那段太繁雜了吧?
再說你幹嘛要限定為執行3次而已呢?

<?php
for ($i=0;$i<=count($pictures);$i++){
echo "<td align=\"center\"><img src=\"$_server['document_root']."image(你圖片的上一個文件夾名)/$pictures[$i]\"/></td>";}

}

?>

『陸』 php保存遠程圖片到本地

$img = file_get_contents('http://www.91cici.com/images/logo.gif');
file_put_contents('test.gif',$img);

『柒』 php里圖片地址我用本地地址無法顯示, 用web地址卻可以, 為什麼

你是在本地自己搭的伺服器吧,php肯定不能訪問本地文件了,你在本地搭的伺服器,他只能訪問伺服器允許范圍內的文件(也就是伺服器根目錄下的文件),不能隨便一個位置都訪問,這是一個訪問許可權的問題,如果php可以隨便訪問你電腦上的文件,那你的電腦安全都成問題了

熱點內容
asm源碼編譯 發布:2025-01-17 03:54:24 瀏覽:287
如何配置svi介面的ip地址 發布:2025-01-17 03:48:09 瀏覽:44
微軟怎麼解壓縮文件 發布:2025-01-17 03:43:06 瀏覽:203
有沒有手機可以用的java編譯器 發布:2025-01-17 03:38:56 瀏覽:542
手把手教你學c語言版 發布:2025-01-17 03:38:52 瀏覽:781
最優化遺傳演算法 發布:2025-01-17 03:35:24 瀏覽:547
四代飛度家用需要加裝哪些配置 發布:2025-01-17 03:34:28 瀏覽:877
安卓手機貓和老鼠怎麼換號 發布:2025-01-17 03:23:58 瀏覽:469
安卓系統怎麼下蝙蝠 發布:2025-01-17 03:20:07 瀏覽:19
加密解密文件 發布:2025-01-17 03:16:32 瀏覽:83